`
morflame
  • 浏览: 48870 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

JFinal使用idea做开发不能自动编译

阅读更多

看到JFinal不错,今天特地来尝试一下,使用idea来做开发,悲剧就此产生……

 

1、写了一个简单的Controller,完全按照文档写的肯定没问题,结果死活就是404,而且是jetty渲染的那种404页面,不是JFinal渲染的那个404页面,说明Jetty成功启动了,但是,JFinal的Filter没有被加载,问题出在哪里呢???JFinal启动的时候需要传入4个参数:webAppDir,port,contextPath,scanInterval,后面三个参数肯定没问题,难道是webAppDir的路径给的不对?我在JFinal.start()调用之前特意touch了一个文件,结果才知道了idea下的workdir在哪里……修改参数,最后变成这样才可以:JFinal.start("src/main/webapp", 80, "/", 5);

 

2、修改了java文件没法自动load

这可是JFinal的一大特点,为啥到我这就不好使了呢?难道是JFinal的ClassLoader写的有问题?debug了一下代码,看上去没啥问题……既然监测逻辑没有问题,那就是输入有问题,对于这个监测逻辑的输入是什么?是我的classpath,即JFinal会去定时读取classpath的文件,看是否发生了变化,如果发生了变化load进来。我现在怀疑idea可能没有即时编译,于是……我启动webapp之后打开target/classes目录随便找了一个class看他的时间戳,OK,记录下来,过一分钟,修改源文件,再回来看,擦,时间戳没有发生变化……这说明我修改了java源文件了,但是idea没有给我即时编译到target目录,eclipse是可以的啊,难道idea真的不行?是不是有个配置开关没有打开,于是,我就Google啊,结果发现……idea确实不能自动编译,不过到了版本12之后可以了,需要配置一下,方法如下:



 就是红线圈起来的两个选项,打开就可以自动编译了,但是,看到后面括号里的话我心凉了……

 

看来以后开发JFinal的项目还是用eclipse吧。。。

 

 

 

 

  • 大小: 20 KB
0
1
分享到:
评论
4 楼 igordonshaw 2013-12-17  
随遇羽翔 写道
我也使用idea开发,不过使用idea的人的确很少。我也是一直手动编译程序,其实自动和手动关键看个人,手动编译我觉得更能知晓自己程序的修改和执行。

当加入了c3p0数据源插件后,手动编译也会报错的,必须重启啊,用jrebel debug的话也是直接报错
3 楼 morflame 2013-12-16  
igordonshaw 写道
真是很悲剧啊,作者也没有给出好的解决方法
参见我的提问,http://www.oschina.net/question/929757_136931


我现在只要修改了java代码都是重启一下,其实也很快,jetty毕竟比较轻量,JFinal内置的热加载一般也是每隔5s扫描一次,感觉手工做还可以忍受:)idea下开发同样做到修改了freemaker模板文件立即生效,有这个我已经满足了,哈哈
2 楼 igordonshaw 2013-12-16  
真是很悲剧啊,作者也没有给出好的解决方法
参见我的提问,http://www.oschina.net/question/929757_136931
1 楼 随遇羽翔 2013-12-07  
我也使用idea开发,不过使用idea的人的确很少。我也是一直手动编译程序,其实自动和手动关键看个人,手动编译我觉得更能知晓自己程序的修改和执行。

相关推荐

Global site tag (gtag.js) - Google Analytics