自动加载修改后的java文件,开发过程中无需重启web server

请问这句话是什么意思?为什么我在用jfinal开发的过程中,在controller或者model中新建方法,都需要重启tomcat后,才能生效?是我哪里配置不对吗?

评论区

JFinal

2016-08-10 01:02

这句话是指修改 java 源代码后,不需要重启服务即可立即让代码生效。按照 jfinal 手册第一章,快速上手这一章去操作就可以了

nbjgl

2016-08-10 08:17

@JFinal 在controller或者model中新增方法,还是需要重启才能生效的吗?

JFinal

2016-08-10 09:29

@nbjgl 新增类,或者新增方法都不需要重启

nbjgl

2016-08-10 14:24

@JFinal 新增类或者方法需要重启,修改方法内的代码不需要重启,是哪里配置的不对吗?还是新建项目时候哪里没配置对?我的myeclipse 没有新建jfinal手册中示例的新建Dynamic web project 选项……我一般都是新建web project

JFinal

2016-08-10 14:41

@nbjgl myeclipse 下用新建 web project 即可。注意两个关键点,
1:打开 myeclipse的自动编译,并且编译的 class 文件要输出到 WEB-INF/classes 文件夹下,jfinal 是通过感知这个目录下的文件变化而自动加载变化的类文件的

2:使用 jfinal 手册中介绍的启动方式,也即使用 jfinal 集成的 jetty 启动

nbjgl

2016-08-10 15:01

非常感谢,按照您说的方法解决了。每次来jfinal官网看到这句话都心存疑惑,困扰多年的疑问终于释怀了。开发环境下使用jetty,生成环境是不是要删除掉jetty就可以啦?

nbjgl

2016-08-10 15:05

这个问题解决了 真的可以节省大把的时间了 very good~

JFinal

2016-08-10 15:07

@nbjgl 生产环境将 jetty 相关的 jar 包删掉即可,我一般是在 pom.xml 中将 jetty 依赖配置成 scope 为 provided,这样在打 war 包时,不会将 jetty 打进来

tda7088

2016-12-23 10:44

@JFinal 大神,我正在写一个代码生成器,生成的controller和model想自动注册到jfinal里,有没有好的办法呢?

热门反馈

扫码入社