2016-10-03 1 views
0

I Resteasy Servlet und Zuhörer in web.xml konfiguriert habenResteasy: java.lang.NoClassDefFoundError: javax/Servlet/ServletContext

<servlet-mapping> 
    <servlet-name>resteasy-servlet</servlet-name> 
    <url-pattern>/rest/*</url-pattern> 
</servlet-mapping> 

<!-- Auto scan REST service --> 
<context-param> 
    <param-name>resteasy.scan</param-name> 
    <param-value>true</param-value> 
</context-param> 

<!-- this should be the same URL pattern as the servlet-mapping property --> 
<context-param> 
    <param-name>resteasy.servlet.mapping.prefix</param-name> 
    <param-value>/rest</param-value> 
</context-param> 

<listener> 
    <listener-class> 
     org.jboss.resteasy.plugins.server.servlet.ResteasyBootstrap 
    </listener-class> 
</listener> 

<servlet> 
    <servlet-name>resteasy-servlet</servlet-name> 
    <servlet-class> 
     org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher 
    </servlet-class> 
</servlet> 

Wenn ich EAR auf JBoss-as-Web-7.0.0 bereitstellen versuchen .Final ich Fehler:

org.jboss.resteasy.plugins.server.servlet.ResteasyBootstrap: java.lang.NoClassDefFoundError: javax/servlet/ServletContext

Mein EAR enthält Krieg und EJB jar nach innen, wenn es einen Sinn haben.

Antwort

1

1) benötigen Sie api Abhängigkeit in Ihrem Projekt Servlet wie folgt:

<dependency> 
    <groupId>javax.servlet</groupId> 
    <artifactId>javax.servlet-api</artifactId> 
    <version>3.0.1</version> 
    <scope>provided</scope> 
</dependency> 

ODER

hinzufügen javax.servlet-3.0.jar Datei in Ihrem Classpath.

2) Zum <JBOSS-HOME>/standalone/configuration/standalone.xml

Finden Sie das Element <subsystem xmlns="urn:jboss:domain:ee:1.0" />

und ersetzen Sie es durch

<subsystem xmlns="urn:jboss:domain:ee:1.0"> 
    <global-modules> 
     <module name="javaee.api" slot="main"/> 
    </global-modules> 
</subsystem>` 

3) Zum JBoss\jboss-eap-6.1\modules\system\layers\base\javax\servlet\api\main

umfassen JAR jboss-servlet-api_3.0_spec-1.0.2.Final-redhat-1.jar

Ich empfehle Ihnen, Jboss AS 7.1.1.Final Version statt 7.0.0 Finale nur zu verwenden.

+0

Ich habe 4 pom.xml Dateien in meinem Projekt. Im Stammordner, im Appname-Web, im Appname-ejb und im Appname-Ohr. Ich habe versucht, Servlet API-Abhängigkeit in jeder dieser pom.xml, in Rotation. Aber der Fehler bleibt derselbe. Auch ich habe versucht, javax.servlet-3.0.jar in JBOSS_HOME/Standalone/lib zu setzen, aber es hat nicht geholfen. –

+0

Wenn Sie Servlet in all diesen oben genannten Orten verwenden, müssen Sie die Servlet-Abhängigkeit hinzufügen (alle 4 Dateien). –

+0

Ich habe Servlet-Abhängigkeit in allen 4 Dateien hinzugefügt, aber der Fehler ist derselbe. –

Verwandte Themen