【发布时间】:2012-01-24 19:33:43
【问题描述】:
我正在尝试查找我的 tomcat 环境中的配置问题。我们的生产服务器正在运行 tomcat 安装并从共享的 NFS 挂载读取战争。
但是,当我尝试用一个独立的盒子(使用它们的配置)进行同样的战争时,我收到了下面发布的错误。
有趣的是,如果我将 WEB-INF/lib 中的所有 jar 解压缩到 WEB-INF/classes 中,这个错误就会消失。
所以,似乎有什么东西阻止了应用程序加载 WEB-INF/lib 路径,但我一生都找不到任何会导致这种情况的 tomcat 设置,因为它正在检测应用程序和配置, 只是没有包含的罐子。
有什么想法吗?
严重:配置类的应用程序侦听器时出错 org.springframework.web.context.ContextLoaderListener java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener 在 org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1387) 在 org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1233) 在 org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3786) 在 org.apache.catalina.core.StandardContext.start(StandardContext.java:4342) 在 org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791) 在 org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771) 在 org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525) 在 org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:627) 在 org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:553) 在 org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:488) 在 org.apache.catalina.startup.HostConfig.start(HostConfig.java:1149) 在 org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311) 在 org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117) 在 org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053) 在 org.apache.catalina.core.StandardHost.start(StandardHost.java:719) 在 org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045) 在 org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443) 在 org.apache.catalina.core.StandardService.start(StandardService.java:516) 在 org.apache.catalina.core.StandardServer.start(StandardServer.java:710) 在 org.apache.catalina.startup.Catalina.start(Catalina.java:578) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 在 java.lang.reflect.Method.invoke(Method.java:597) 在 org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288) 在 org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413) 12 月 20 日, 2011 下午 4:20:38 org.apache.catalina.core.StandardContext listenerStart 严重:配置类的应用程序侦听器时出错 org.springframework.security.web.session.HttpSessionEventPublisher java.lang.ClassNotFoundException: org.springframework.security.web.session.HttpSessionEventPublisher 在 org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1387) 在 org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1233) 在 org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3786) 在 org.apache.catalina.core.StandardContext.start(StandardContext.java:4342) 在 org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791) 在 org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771) 在 org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525) 在 org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:627) 在 org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:553) 在 org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:488) 在 org.apache.catalina.startup.HostConfig.start(HostConfig.java:1149) 在 org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311) 在 org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117) 在 org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053) 在 org.apache.catalina.core.StandardHost.start(StandardHost.java:719) 在 org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045) 在 org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443) 在 org.apache.catalina.core.StandardService.start(StandardService.java:516) 在 org.apache.catalina.core.StandardServer.start(StandardServer.java:710) 在 org.apache.catalina.startup.Catalina.start(Catalina.java:578) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 在 java.lang.reflect.Method.invoke(Method.java:597) 在 org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288) 在 org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
【问题讨论】:
-
您的 jar 是否通过符号链接引用?默认情况下,Tomcat 不会遵循符号链接。
-
不,主 webapp 符号链接到部署文件夹,但即使我将整个应用程序放入,我仍然会收到此错误。
-
我指的是 WEB-INF/lib 中的 jars。我被这个错误所困扰,以至于对正确配置 Tomcat 非常小心...
标签: java spring classpath tomcat6 web-inf