Tomcat部署JFinal项目后启动报错

之前搭了一个Jetty+Maven的JFinal项目,IDE为MyEclipse,成功实现了项目内相应的逻辑业务。

最近有要求将项目用Tomcat启动,一开始认为没什么问题只是换个容器,还有就是要像官方文档说的把maven添加依赖中的jetty-server给去除,想不到在Tomcat部署JFinal并启动Tomcat时控制台报出如下错误:

严重: Exception starting filter [JfinalFilter]
java.lang.ClassNotFoundException: com.jfinal.core.JFinalFilter
	at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1309)
	at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1137)
	at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:546)
	at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:527)
	at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:150)
	at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:264)
	at org.apache.catalina.core.ApplicationFilterConfig.(ApplicationFilterConfig.java:108)
	at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4637)
	at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5282)
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
	at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:754)
	at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:730)
	at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:734)
	at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1140)
	at org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1875)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
	at java.util.concurrent.FutureTask.run(FutureTask.java:262)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
	at java.lang.Thread.run(Thread.java:744)

这个过滤器没被找到,所以报了classnotfound这个异常,JFinalFilter实际上是JFinal的核心jar包自带的过滤器,所以只可能是这个jar包在发布的时候没有被打包。

既然分析出问题,那么后续就会很方便解决。

右击项目---properties---MyEclipse---Deployment Assemby,然后点击右边的Add,将Maven所添加的依赖加入进来。

Tomcat部署JFinal项目后启动报错_第1张图片

Tomcat部署JFinal项目后启动报错_第2张图片

Tomcat部署JFinal项目后启动报错_第3张图片

点击finish---apply---OK,重新部署一下项目,重启Tomcat,问题解决。


你可能感兴趣的:(JFinal,Tomcat)