获取“ClassNotFoundException:ResteasyBootstrap”和“ClassNotFoundException:SpringContextLoaderListenerexception”

时间:2013-08-28 17:42:31

标签: java eclipse rest

我收到以下异常:

java.lang.ClassNotFoundException: org.jboss.resteasy.plugins.server.servlet.ResteasyBootstrap
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1711)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1556)
at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:525)
at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:507)
at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:124)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4715)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5273)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1566)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1556)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
at java.util.concurrent.FutureTask.run(FutureTask.java:166)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:722)

我的pom文件中有以下依赖项:

    <dependency>
        <groupId>org.jboss.resteasy</groupId>
        <artifactId>resteasy-spring</artifactId>
        <version>${resteasy.version}</version><!--$NO-MVN-MAN-VER$ -->
    </dependency>
    <dependency>
        <groupId>org.jboss.resteasy</groupId>
        <artifactId>resteasy-jaxrs</artifactId>
        <version>2.3.0.GA</version>
    </dependency>  

我还在WEB / INF / lib文件夹中看到resteasy-jaxrs-2.3.0.GA.jar。 请告诉我缺少哪个依赖项。 我还检查了Getting "java.lang.ClassNotFoundException: javax.servlet.http.HttpServlet" in Eclipse + jboss 5.1.0并完成了所有工作。

我也收到以下错误:

SEVERE: Error configuring application listener of class          org.jboss.resteasy.plugins.spring.SpringContextLoaderListener
java.lang.ClassNotFoundException: org.jboss.resteasy.plugins.spring.SpringContextLoaderListener

尽管有以下依赖关系:

    <dependency>
        <groupId>org.jboss.resteasy</groupId>
        <artifactId>resteasy-spring</artifactId>
        <version>${resteasy.version}</version>
    </dependency>

4 个答案:

答案 0 :(得分:15)

我终于解决了它。解决方案很简单。右键单击项目,然后选择“属性”。在项目属性下,选择“部署程序集”。在这里添加Maven依赖。您需要告诉Eclipse您希望发布所有Maven依赖项。

答案 1 :(得分:1)

我在Wildfly遇到了同样的问题。事实证明,部署的WAR需要至少一个端点来执行引导程序,请参阅下文。否则我得到了java.lang.ClassNotFoundException: org.jboss.resteasy.plugins.server.servlet.ResteasyBootstrap

@Produces({ MediaType.APPLICATION_JSON })
@Consumes({ MediaType.APPLICATION_JSON })
public class ConfigurationEndpoint {

  @Path("/info")
  @GET
  public Response getInfo() {
    return Response.ok().build();
  }
}

答案 2 :(得分:0)

如果你的项目是maven基础项目,那么运行

mvn eclipse:clean

mvn eclipse:eclipse

它会将m2从m2 repo添加到lib文件夹然后重新部署webapp并重新启动tomcat / server

答案 3 :(得分:0)

我通过右键单击项目-> Maven->更新项目来解决它。并且可能需要重新部署或对插入Eclipse的Tomcat服务器下的部署进行“清理”。