我正在使用Google AppEngine及其内置的网络服务器。我的开发以一种简单的方式进行:我对.java源代码或.jsp进行更改并使用ant
进行编译,并查看我必须重新启动开发服务器的更改。
我想知道是否有办法可以避免重启我的开发服务器的最后一步 - 以某种方式刷新我的web服务器的缓存类上下文。谷歌在这个开发服务器上提供的选项非常有限,我想知道是否有更好的方法。
我想避免使用像JRebel这样的东西我可以购买,但对于这个简单的项目,我只是想知道我是否可以免除重启我的网络服务器的负担......否则我会忍受它。
答案 0 :(得分:4)
我意识到你可以触摸
appengine-web.xml
强制服务器上下文重新加载。还加载了
/_ah/reloadwebapp
下的页面将重新加载服务器上下文 - 即使
它给你一个404,它仍然会重新加载上下文。
答案 1 :(得分:0)
在调试模式下,JVM可以执行一些热插拔 - 我知道并且Intellij IDEA会这样做,我相信其他IDE中的其他调试器也会这样做。
使用调试标志(例如-Xdebug -Xrunjdwp:transport=dt_socket,address=127.0.0.1:8000
)启动应用服务器,然后将调试器连接到应用服务器。
然后,更改不是方法签名或类字段更改的源。重新编译,瞧,调试器将类交换到正在调试的jvm中!
这只能半井运作。但这可能就足够了。