Windows下jetty能运行,linux下不行

image.png

提示找不到all.sql,但是Windows下面是可以的,想问一下波总这是啥原因

关于all.sql的配置是这样的

image.png

评论区

JFinal9527

2018-01-26 17:07

war包classes里面也有sql文件夹

JFinal

2018-01-26 18:24

将 arp.setBaseSqlTemplatePath(...) 改成下面的代码:
Engine engine = arp.getEngine();
engine.setSourceFactory(new ClassPathSourceFactory());
arp.addSqlTemplate("sql/all.sql");

ClassPathSourceFactory 会去 class path 以及 jar 包中读模板文件,即便你将来将 sql 打在 jar 包中都可以使用

JFinal

2018-01-26 18:27

其实最新版本的文档已经建议使用这种方式配置了:
http://www.jfinal.com/doc/5-13

你碰到的问题可以是路径不对,也可能是大写问题, linux 下区分大小写,而 windows 不区分,无论什么原因,都建议使用:ClassPathSourceFactory

JFinal9527

2018-01-26 19:11

@JFinal 感谢波总,最开始是文件找不到,后来我换成/sql/all.sql后没注意大小写,非常感谢,以后一定好好注意大小写!!!

热门反馈

扫码入社