刚刚接触jfinal就遇到了各种问题。整理下遇到的问题,希望对大家有用
问题1:根据官方文档,如果使用 Maven 管理 jar 包依赖,只需要引入如下 dependency:
<dependency>
<groupId>com.jfinal</groupId>
<artifactId>jfinal</artifactId>
<version>3.0</version>
</dependency>
但是,demo是用jetty容器加载程序的,没有jetty包,会报NoClassDefFoundError错误。
Exception in thread "main" java.lang.NoClassDefFoundError: org/eclipse/jetty/server/SessionManager
所以,在pom文件中,添加jetty包的依赖
<dependency>
<groupId>com.jfinal</groupId>
<artifactId>jetty-server</artifactId>
<version>8.1.8</version>
此处的 scope 值为 compile 仅为支持 IDEA 下启动项目
打 war 包时需要改成 provided,以免将一些无用的 jar 打进去
<scope>compile</scope>
</dependency>
问题2:添加jetty包,报错 WARN:oejuc.AbstractLifeCycle:FAILED jsp: java.lang.NoClassDefFoundError: org/apache/juli/logging/LogFactory
一开始,看见大篇幅报红,以为是jar包没加载全,重新加载几次后发现还不能解决。错误中的apache引起了我的注意。在eclipse中项目右击>>>Properties>>>Java bulid path 中把tomcat删除,重新运行main函数,项目正常启动。