我的maven项目被配置为在本地glassfish服务器上运行。当我对Java类或JSP文件进行任何更改时,就会自动部署它。
但是,如果我将相同的项目配置为在远程服务器上运行,则当我单击“保存”按钮时,它不会自动部署任何内容,必须手动单击" run“按钮。
我做错什么了吗?
谢谢!
发布于 2015-06-27 13:20:10
不,是这样的。
热代码替换在IDE中工作,因为它可以控制java进程和类加载。一旦在远程计算机上,您的IDE就无法再控制进程。
取决于所使用的框架(Spring、JPA、.)即使是热代码替换也可能没有预期的效果,因为这些框架需要在启动时进行初始化。
JDK本身只支持某种类型的更改。通常,签名更改不会重新加载或添加静态方法。
如果您需要更好的热代码重新加载支持,您可以尝试JRebel。它是一个商业工具,但它支持更多的变体重新加载,也有一些框架支持。
我也读过一些公司在生产服务器上使用它的报道。
与maven相关,您只需注意,如果maven部署了.war或.ear文件,它也不受您的IDE的控制(或者有更强的限制)。这通常是让IDE在本地完成工作的最佳方法。
https://stackoverflow.com/questions/31085625
复制相似问题