天天看点

jfinal官网maven工程tomcat部署

      由于之前没接触过maven,在导入jfinal官网的maven项目后发现并没有run on server这一项,折腾天了半天总算解决了,下面将解决办法简略总结了一下。

1、启动项目发现没有run onserver选项

解决:

项目右键,属性,搜索Project Facets,勾选dynamic web services框。点击Feature configuration....,修改Content directory为src/main/webapp。

jfinal官网maven工程tomcat部署

现在项目右键--Run as ---就可以看到server启动项了。

jfinal官网maven工程tomcat部署

那么现在启动项目,会不会顺利运行呢,答案当然是否定的,看下图:

jfinal官网maven工程tomcat部署

报错了,错误信息如下:

java.lang.ClassNotFoundException: com.jfinal.core.JFinalFilter

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

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

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

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

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

at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:258)

at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:105)

at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4958)

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

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

at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1571)

at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1561)

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:745)

很显然是jfinal jar包没有加载进来,这是因为项目中没有引入maven 依赖,解决方法如下:

项目--右键--属性    搜索deployment assembly,点击add,添加maven依赖。

jfinal官网maven工程tomcat部署

修改完后重新run on server一下,大功告成!!

jfinal官网maven工程tomcat部署

另外需注意项目所依赖的jre版本,

 Source default output folder:jfinal_demo_for_maven/target/classes.

jfinal官网maven工程tomcat部署

第一次发文,版式有点乱,望见谅!