Resteasy:java.lang.NoClassDefFoundError:javax / servlet / ServletContext [英] Resteasy: java.lang.NoClassDefFoundError: javax/servlet/ServletContext

查看:404
本文介绍了Resteasy:java.lang.NoClassDefFoundError:javax / servlet / ServletContext的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在web.xml中配置了Resteasy servlet和监听器

I have Resteasy servlet and listener configured in web.xml

<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-web-7.0.0.Final上部署EAR时出现错误:

When I trying to deploy EAR on JBoss-as-web-7.0.0.Final I get error:


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

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

我的EAR里面包含war和EJB jar,如果它有意义的话。

My EAR contains war and EJB jar inside, if it have a meaning.

推荐答案

1)您需要在项目中使用servlet api依赖项,如下所示:

1) you need to servlet api dependency in your project as below:

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

OR

add javax.servlet-3.0.jar 类路径中的文件。

add javax.servlet-3.0.jar file in your classpath.

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 Final。

这篇关于Resteasy:java.lang.NoClassDefFoundError:javax / servlet / ServletContext的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆