天天看點

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部署

第一次發文,版式有點亂,望見諒!