首页
App
&
Coffee
文档
项目
分享
反馈
俱乐部
登录
注册
使用jfinal-undertow开发
yuer_2018
2018-12-26 15:49
在使用jfinal-undertow开发时 启动项目时报错
第一张图是报错信息 第二张图是启动类中的配置 ;这个是什么问题?
项目:
JFinal
评论区
JFinal
2018-12-26 16:01
看一下 File not found 这个提示信息中的目录下面,是不是真的有 all.sql 这个文件
你的配置需要改成下面的:
activeRecordPlugin.getEngine().setToClassPathSourceFactory();
activeRecordPlugin.setBaseTemplatePath(null);
activeRecordPlugin.addSqlTemplate("sqls/all.sql");
回复
yuer_2018
2018-12-26 16:15
@JFinal
项目中实际路径是:E:\testCode\V3\src\main\resources\sqls\all.sql
所以不知道怎么会跑到 E:\testCode\V3\out\production\classes/sqls/all.sql 这里去找。
配置改为你的建议后 报错信息是:
Caused by: java.lang.RuntimeException: Plugin start error: com.eshanren.ext.plugin.J2CachePlugin
缓存是用的 org.ehcache', name: 'ehcache', version: '3.6.1' 这个版本
回复
JFinal
2018-12-26 16:23
@yuer_2018
src/main/resources 这里面所有文件会被编译到 classes 下面去
我看到你的项目中有一个 out 目录,这个不是标准的 maven 项目结构,甚至不是标准的 web 项目结构, 好在 jfinal 也支持这类 out/bin 目录
你只要使用我前面的配置就好:
activeRecordPlugin.getEngine().setToClassPathSourceFactory();
activeRecordPlugin.getEngine().setBaseTemplatePath(null);
activeRecordPlugin.addSqlTemplate("sqls/all.sql");
回复
yuer_2018
2018-12-26 16:26
@JFinal
配置已经改正。现在的报错是 :
java.lang.RuntimeException: Plugin start error: com.eshanren.ext.plugin.J2CachePlugin. 是J2Cache的版本问题吗?
回复
yuer_2018
2018-12-26 16:28
@JFinal
报错信息具体是:Caused by: java.util.ServiceConfigurationError: net.sf.ehcache.EhcacheInit: Provider net.sf.ehcache.EhcacheCoreInit not a subtype
回复
JFinal
2018-12-26 16:30
添国一个配置:
undertow.hotSwapClassPrefix=com.eshanren.
如果还出现这类问题,继续添加配置,多个配置用逗号分隔,文档中有过说明:
https://www.jfinal.com/doc/1-5
注意看文档的第四小节
回复
yuer_2018
2018-12-26 16:33
@JFinal
好的 谢谢大佬了
回复
JFinal
2018-12-26 16:41
@yuer_2018
这个设计方式是为了极致性能,否则可以采用 jfinal 整合的 jetty-server 的那个方案
jetty-server 的方案比较费内存,而且响应速度不如这个方案快, 这个方案配置好以后就不需要动了,部署时也不需要改配置,因为部署时会完全忽略这个配置
回复
yuer_2018
2018-12-26 17:25
@JFinal
我最开始是用的jetty-server 的方案 but 启动项目没有报错 但是访问时:
HTTP ERROR 404
Problem accessing /. Reason:
Not Found
Powered by Jetty:// 9.4.12.v20180830
所以才想换jfinal-undertow
回复
JFinal
2018-12-26 17:28
@yuer_2018
出现下面这个错误:
Not Found
Powered by Jetty:// 9.4.12.v20180830
表明 jfinal 没有启动成功,通常是 web.xml 中的配置不对或者启动就有问题的情况
换 jfinal undertow 没错的,爽多了,jfinal.com 切到 jfinal undertow 一段时间了,cpub 内存占用的表现比 tomcat 要好,运行十分平稳
更重要是部署快
回复
yuer_2018
2018-12-26 17:44
@JFinal
好的 感谢大佬
回复
发送
我要反馈
热门反馈
扫码入社
你的配置需要改成下面的:
activeRecordPlugin.getEngine().setToClassPathSourceFactory();
activeRecordPlugin.setBaseTemplatePath(null);
activeRecordPlugin.addSqlTemplate("sqls/all.sql");