Eclipse Hot Code Replace Fail - republish web application

断了今生、忘了曾经 提交于 2019-12-07 02:15:36

问题


I use the Hot Swap java debugging feature with web app on Tomcat. After some class signature change, I got "Hot Code Replace Fail" Eclipse dialog - I understand that.

What I want in such case is to republish the application (I can do that) and work with the newly deployed code. However the debugger stil complains, until I restart the server. Because other apps and long startup I don't want that.

Is there a way how to tell to the debugger, that there is the new class version already reloaded in a new webapp classloader and that it is save to continue?

Thanks.


回答1:


Why don't you try with JRebel? JRebel is a JVM Java Agent that integrates with application servers, making classes reloadable with existing class loaders. Only changed classes are recompiled and instantly reloaded in the running application. JRebel plugs into IDEs and build systems. Classes and static resources are loaded straight from the workspace. http://zeroturnaround.com/software/jrebel/

Regards, Andrea




回答2:


There is a old PHD project. The guy who made it was brought by Oracle but his work didnt made it to the Java 8 and hopefully will be seen in Java 9 but is more likely to be in Java 10. There is a new Version of this for Java 8 I guess. I havent tried it yet.

My Original Question for additional information: Advanced Code Hot Swapping in JDK 8?

And the Project page on Github: https://github.com/dcevm/dcevm

With this you can hot replace almost any class change freeing you from restarting the JDK ever after. (beside sideeffects for static objets and singletons but that would be logical)




回答3:


Did you try Server Options - Serve modules without publishing along with Publishing?


Also not sure what you are saying about other apps.



来源:https://stackoverflow.com/questions/3610920/eclipse-hot-code-replace-fail-republish-web-application

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!