开发者

Can I set GAE's dev_appserver to automatically reload context when I change .class files?

开发者 https://www.devze.com 2023-02-16 12:07 出处:网络
I\'m using Google AppEngine with their built in web server. My development goes about i开发者_开发技巧n a simple way: I make changes to my .java sources or .jsp and compile using ant and to see the ch

I'm using Google AppEngine with their built in web server. My development goes about i开发者_开发技巧n a simple way: I make changes to my .java sources or .jsp and compile using ant and to see the changes I have to restart the development server.

I'm wondering if there's a way I can avoid this last step of restarting my development server - somehow refresh the cached classes context of my web-server. The options provided by Google on this dev server are quite limited and am wondering if there's a better way.

I would like to avoid using something like JRebel which I could buy, but for this simple project I'm just wondering if I can remove the burden of restarting my web-server... otherwise I'll live with it.


I realized that you can just touch appengine-web.xml to force server context reload. Also loading the page under /_ah/reloadwebapp will reload the servers context - even if it gives you a 404, it will still reload the context.


In debug mode, the JVM can perform some hot swapping - I know and Intellij IDEA does it, i m sure other debuggers in other IDE's does it too.

Start the app server with the debug flag (-Xdebug -Xrunjdwp:transport=dt_socket,address=127.0.0.1:8000 for example), then connect the debugger to the app server.

Then, make a change to the source that is not a method signature or class field change. Recompile, and voila, the debugger hot swapped the class into the jvm being debugged!

This only really works semi-well. But it may just be enough.

0

精彩评论

暂无评论...
验证码 换一张
取 消