java - Tomcat 在启动时自动重启 Web 应用程序,发生错误后

标签 java tomcat jersey classnotfoundexception

我在 tomcat 上遇到了很大的麻烦。

在解释之前,让我先说说我是第一次看到这样的东西......

我正在 Hibernate、Spring 3.0 和 Jersey REST Framework 上使用 JPA 构建应用程序。

当使用 glassfish 时,一切正常,但是在 tomcat 上部署相同的应用程序时,我注册了以下错误代码:

    GRAVE: Error deploying configuration descriptor java-zero.xml
java.lang.NoClassDefFoundError: com/sun/jersey/spi/container/servlet/ServletContainer
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClassCond(ClassLoader.java:632)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:616)
        at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
        at org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:2527)
        at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:1010)
        at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1483)
        at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1361)
        at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1095)
        at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:993)
        at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4187)
        at org.apache.catalina.core.StandardContext.start(StandardContext.java:4496)
        at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
        at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
        at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:546)
        at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:637)
        at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:563)
        at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:498)
        at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1277)
        at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:321)
        at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
        at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
        at org.apache.catalina.core.StandardHost.start(StandardHost.java:785)
        at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
        at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
        at org.apache.catalina.core.StandardService.start(StandardService.java:519)
        at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
        at org.apache.catalina.startup.Catalina.start(Catalina.java:581)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)
        at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)
Caused by: java.lang.ClassNotFoundException: com.sun.jersey.spi.container.servlet.ServletContainer
        at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1516)
        at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1361)
        ... 34 more

然后tomcat重启应用,还是一样的错误。在无限循环中。

看起来像是图书馆冲突,但我真的不知道如何解决...

欢迎任何建议!

再见,大卫。

最佳答案

java.lang.ClassNotFoundException: com.sun.jersey.spi.container.servlet.ServletContainer suggests that you either don't have the Jersey JAR file or you've put it in the wrong place.

如果是前者,请下载here并将其添加到 Tomcat。

如果是后者,请将它及其所有依赖项放在 WEB-INF/lib、Tomcat 5.x 的 server/lib 或 Tomcat 6.x 的 lib 中。 (只有一个,不是全部。)

它适用于 Glassfish,因为他们已经为您捆绑了它。 Tomcat 没有。

关于java - Tomcat 在启动时自动重启 Web 应用程序,发生错误后,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2970576/

相关文章:

java - 使用注释帮助第一个 spring MVC 页面

java - 滚动时图像滞后如何解决?

java - 关于tomcat和jmx的问题

spring - 使用不同的@QueryParams 重载路径函数

java - Matlab 看不到 .jar 文件

tomcat - 我如何在两个不同的环境中使用 maven tomcat 插件?

java - 如何在 java web 应用程序中访问 WEB-INF/META-INF 中的文件?

java - 找不到 Jersey REST web 服务子资源

java - 在添加自定义注释和 MethodInterceptor 时,EnhancerByGuice 生成的类导致 Dropwizard 出错

Java Hdd 图形表示