2020-02-11 14:03
@dragon688 通过这种方式,你的项目在部署的时候,不再需要安装配置 JDK 了,从而实现了开发、打包、部署 一体化:
https://jfinal.com/share/1296
2020-02-09 21:01
@lhl_yn_km 异常已经很清楚了:
java.lang.UnsupportedClassVersionError: Preview features are not enabled for com/base/MainConfig (class file version 56.65535). Try running with '--enable-preview' (无法载入的.类 [com.base.MainConfig])
关键一句:ava.lang.UnsupportedClassVersionError
你部署环境境无法运行你编译出来的 .class 文件而已,注意编译时与部署时的 JDK 版本,同时也注意它的提示信息中的建议:
Try running with '--enable-preview'
2020-02-09 18:05
关键信息是这句:
09-Feb-2020 17:31:56.199 严重 [main] org.apache.catalina.core.StandardContext.startInternal One or more Filters failed to start. Full details will be found in the appropriate container log file
注意去 tomcat 自身的 log file 中去找错误,现有异常并不明确。从代码上看没有什么问题
此外,建议使用 jfinal undertow 开发,而不是 JFinal.start(...) 使用的 jetty
说到 jetty ,我估计是你 jetty 的 jar 包没删干净,从而与 tomcat 的 jar 包相关冲突,注意看文档中的有关说明,注意看第二小节的内容:
https://jfinal.com/doc/1-7
2020-02-08 18:46
自己写个解析程序,可以配合正则表达式
如果你的每对 key value 之间的分隔符没有统一的话,可以先利用 JDK 中的 String.replaceAll(String regex, String replacement) 方法,将分隔符统一,例如统一成 "###":
str = str.repalceAll(regex, "###");
String[] keyValueArray = str.split("###");
上面两步就将所有 key value 全放到数组里头去了,然后你再利用:
kv.splite("=")
就可以将 key value 分离出来了
注意这些事都与 jfinal 无关
2020-02-07 11:14
@yxhjeremy 如果你用的是 jfinal-undertow, 那么是不需要自行引入 servlet-api.jar 的,因为 jfinal-undertow 已经帮你引入了最新版本
在 webapp/WEB-INF/lib 放的 jar 包,可以通过配置 pom.xml 中的 dependency 来解决:
https://www.jianshu.com/p/f50841f0963d
具体办法是配置其 scope 为 system,然后再添加一个 systemPath
如果有外部 jar 包不要放 webapp/WEB-INF/lib 下面,因为 eclipse 会默认再一次让这个目录下的 jar 包生效,这与前面的配置 pom.xml 的方式重复了