2016-10-03 41 views
0

我有RestEasy的servlet和聽衆在web.xmlRestEasy的: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> 

配置當我試圖在JBoss-AS-網絡7.0.0部署EAR 。最終我得到錯誤:

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

我的EAR包含戰爭和EJB jar裏面,如果它有一個含義。

回答

1

1)你需要在Servlet項目如下API的依賴:

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

OR

添加javax.servlet-3.0.jar文件中的類路徑中。

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

查找元件 <subsystem xmlns="urn:jboss:domain:ee:1.0" />

和由

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

3)轉到替換它來 JBoss\jboss-eap-6.1\modules\system\layers\base\javax\servlet\api\main

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

我推薦你使用JBoss AS 7.1.1.Final版本改爲只7.0.0決賽。

+0

我在我的項目中有4個pom.xml文件。在根文件夾中,在appname-web,appname-ejb和appname-ear中。我試圖在每個這個pom.xml中添加servlet api依賴。但錯誤仍然是一樣的。另外我嘗試把JBOSS_HOME/standalone/lib中的javax.servlet-3.0.jar,但它沒有幫助。 –

+0

如果您在所有上述位置使用servlet,則必須在其中添加servlet依賴項(全部4個文件)。 –

+0

我在所有4個文件中都添加了servlet依賴項,但錯誤是一樣的。 –

相關問題