我有一个项目,我的工作区公告,没问题,它可以运行正常,但我把项目copy还有一个工作空间,然后发布到tomcat(随着tomcat,先前的工作空间remove deployment,公布信息)上去,想在还有一个工作空间去执行这个项目(为了统一管理)。结果add deployment到tomcat上去没有问题。也没有出现异常信息,可是项目也没有公布上去,细致看tomcat的启动日志发现了一句“ Skipped installing application listeners due to previous error(s) ”,跳过了安装。奇怪,我在前一个工作空间,项目跑的好好的,怎么到这里来就给我跳过安装了呢,项目哪里出错了吗。然后再看tomcat安装文件夹下logs文件夹下有tomcat的日志。发现了例如以下的错误信息。
java.lang.ClassNotFoundException: org.apache.catalina.filters.CsrfPreventionFilter
at org.apache.catalina.loader.StandardClassLoader.loadClass(StandardClassLoader.java:854)at org.apache.catalina.loader.StandardClassLoader.loadClass(StandardClassLoader.java:721)
at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:211)
at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:308)
at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:79)
at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:3698)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4349)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:823)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:807)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:595)
at org.apache.catalina.core.StandardHostDeployer.install(StandardHostDeployer.java:277)
at org.apache.catalina.core.StandardHost.install(StandardHost.java:832)
at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:701)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:432)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:983)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:349)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1091)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:789)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1083)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:478)
at org.apache.catalina.core.StandardService.start(StandardService.java:480)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:2313)
at org.apache.catalina.startup.Catalina.start(Catalina.java:556)
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:324)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:287)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:425)
ClassNotFound,首先想到的是,我更换工作空间了。是不是jar的路径出错了,可是细致核对后没问题啊。然后经过了一番折腾,后来在tomcat的安装文件夹下的work文件夹中找到非常多,应用程序相关的东西,和很多我有remove deployment的project,我remove如何work在那里。哎,这是没有问题的,然后我work在适当的project(应tomcat为了产生)删除。
尝试,FML,灿。很叙述性说明easy。其实我也折腾了两个多小时。哎。发布给大家分享。