论坛首页 Java企业应用论坛

提高开发效率之tomcat免重启(随意更改java代码)

浏览 36667 次
精华帖 (2) :: 良好帖 (7) :: 新手帖 (0) :: 隐藏帖 (8)
作者 正文
   发表时间:2011-01-01  
照例补链接:
http://mail.openjdk.java.net/pipermail/mlvm-dev/2010-December/002192.html
http://ssw.jku.at/dcevm/
http://wikis.sun.com/display/mlvm/HotSwap
http://wiki.jvmlangsummit.com/Hotswap
0 请登录后投票
   发表时间:2011-01-02  
jrebel好像也可以,不过是收费的
0 请登录后投票
   发表时间:2011-01-02   最后修改:2011-01-02
jorneyR 写道
sswh 写道
jorneyR 写道
使用WTP写Web工程,什么配置信息都不用修改,把WTP的autoloading去掉,Debug启动Tomcat就可以实现热加载了,不用这么麻烦的。


你增加一个方法或者字段试试看。不需要重启才怪。

debug状态下,只有修改方法内的代码,才不需要重启。

刚刚试了下,如果添加一个新的方法或者新加入一个新的Servlet,不需要重启Tomcat,会自动加载上下文的变化


在类中新加入方法不需要重启服务器?除非这个类还没有被加载过。

你试试调试一个类,然后在这个类中加一个方法、或者改变这个方法的签名(方法名或者参数列表),你看看是不是Eclipse会提示“热代码替换失败”。

难道你开发中从来没碰到过Eclipse的“热代码替换失败”这种提示???
0 请登录后投票
   发表时间:2011-01-02  
sswh 写道
jorneyR 写道
sswh 写道
jorneyR 写道
使用WTP写Web工程,什么配置信息都不用修改,把WTP的autoloading去掉,Debug启动Tomcat就可以实现热加载了,不用这么麻烦的。


你增加一个方法或者字段试试看。不需要重启才怪。

debug状态下,只有修改方法内的代码,才不需要重启。

刚刚试了下,如果添加一个新的方法或者新加入一个新的Servlet,不需要重启Tomcat,会自动加载上下文的变化


在类中新加入方法不需要重启服务器?除非这个类还没有被加载过。

你试试调试一个类,然后在这个类中加一个方法、或者改变这个方法的签名(方法名或者参数列表),你看看是不是Eclipse会提示“热代码替换失败”。

难道你开发中从来没碰到过Eclipse的“热代码替换失败”这种提示???

你说的这个问题从来没有遇到过,我这里一切正常,给类添加,删除方法,增加新的普通类,添加新的Servlet等,都不需要重启服务器。

如果是修改已有方法的内容,立即生效。
如果是新添加方法,Servlet时,不会立即生效,过几秒就会自动加载。

一直都是这么用的,从来没有出现过问题,我用的是Eclipse for J2EE里的WTP
0 请登录后投票
   发表时间:2011-01-03  
to jorneyR:

就是下面这种情况,调试过程中经常遇到的:



  • 大小: 42.7 KB
0 请登录后投票
   发表时间:2011-01-03  
tomcat的部署中把reload=true去掉的话,当你修改一个类中的方法时,可以不用重启tomcat,但是如果你修改一个已经加载过的字段时,比如一个静态变量,一定会要求你重新启动的,如果这个方法能够让这种情况也不用征订启动的话,那确实效率提高不小,试试先,晚点给结果
0 请登录后投票
   发表时间:2011-01-05  
试了几次,在没有安装dcevm时。启动正常。
安装后,一直报错

Caused by: java.lang.NoSuchMethodError: org.objectweb.asm.ClassWriter.<init>(Z)V
0 请登录后投票
   发表时间:2011-01-12  
适用的JDK版本是多少?不会是任意JDK都可以用吧?

JDK1.3、1.4、1.5、1.6都可以??
0 请登录后投票
   发表时间:2011-01-12  
sswh 写道
适用的JDK版本是多少?不会是任意JDK都可以用吧?

JDK1.3、1.4、1.5、1.6都可以??

请阅读官方文档
引用
The JAR files are executable and contain an installer, so it is necessary to install a JRE or JDK beforehand. It is recommend to use the latest JDK7 binary snapshot available at https://jdk7.dev.java.net/, but the binary should also work with JDK6 or JRE6 installations. Make sure to launch the installer with sufficient privileges.

也就是最好是使用JDK7,而JDK6也应该可以。当前版本是使用JDK7-b102为基础build出来的。
0 请登录后投票
   发表时间:2011-01-12   最后修改:2011-01-12
报错啊。。。。

jdk1.6


Exception in thread "HouseKeeper" java.lang.NullPointerException
	at org.logicalcobwebs.proxool.HouseKeeperController.getHouseKeeperToRun(HouseKeeperController.java:53)
	at org.logicalcobwebs.proxool.HouseKeeperThread.run(HouseKeeperThread.java:33)
  • 大小: 31 KB
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics