jfinal 打成war包tomcat下启动失败,求助各位大神。

六月 11, 2019 2:38:33 下午 org.apache.catalina.core.ApplicationContext log

信息: ContextListener: contextInitialized()

六月 11, 2019 2:38:33 下午 org.apache.catalina.core.ApplicationContext log

信息: SessionListener: contextInitialized()

六月 11, 2019 2:38:33 下午 org.apache.catalina.core.ApplicationContext log

信息: ContextListener: attributeAdded('StockTicker', 'async.Stockticker@125c2a79')

六月 11, 2019 2:38:33 下午 org.apache.catalina.core.ApplicationContext log

信息: ContextListener: attributeAdded('org.apache.jasper.compiler.TldLocationsCache', 'org.apache.jasper.compiler.TldLocationsCache@1526653f')

六月 11, 2019 2:38:38 下午 org.apache.catalina.core.StandardContext listenerStart

严重: Error configuring application listener of class org.springframework.web.context.ContextLoaderListener

java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener

at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1907)

at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1750)

at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:534)

at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:516)

at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:148)

at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:5034)

at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5641)

at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)

at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:1015)

at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:991)

at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:652)

at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1296)

at org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:2038)

at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)

at java.util.concurrent.FutureTask.run(FutureTask.java:266)

at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)

at java.lang.Thread.run(Thread.java:745)


六月 11, 2019 2:38:38 下午 org.apache.catalina.core.StandardContext listenerStart

严重: Skipped installing application listeners due to previous error(s)


评论区

zhangtianxiao

2019-06-11 14:49

java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener 整个报错信息没有jfinal的任何字眼

南香权

2019-06-11 14:55

@zhangtianxiao 可是我也没有引入spring的依赖,打成bat文件形式可以启动也不会报错,就打成war包时会出现这个问题。这个是什么原因?

JFinal

2019-06-11 15:52

@南香权 异常栈中没有出现过 "com.jfinal." 这个包名,问题肯定是与 jfinal 无关的

从异常表面上来看,是你的 web.xml 中配置了一个 Listener,而这个东东对 Spring 有依赖:
java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener

此外,如果你的项目确实没有问题,注意一下 tomcat 下的 webapps 目录下面是否部署了别的项目。知道项目只要扔到 tomcat 的 webapps 下面就会被加载