使用Netbeans在远程服务器上进行热部署

时间:2015-06-27 05:48:25

标签: java maven netbeans glassfish

我的maven项目配置为在本地glassfish服务器上运行。当我对Java类或JSP文件进行任何更改时,它会自动部署。

但是,如果我将同一个项目配置为在远程服务器上运行,当我点击“保存”按钮时,它不会自动部署任何内容,我必须手动点击“运行”按钮。

我有什么问题吗?

谢谢!

1 个答案:

答案 0 :(得分:2)

不是这样的。

热代码替换在IDE中工作,因为它可以控制java进程和类加载。进入远程计算机后,IDE无法再控制该进程。

根据您使用的框架(Spring,JPA,...),即使是热代码替换也可能没有预期的效果,因为这些框架需要在启动期间进行初始化。

JDK本身仅支持某种更改。通常,签名更改不会重新加载或添加静态方法。

如果您需要更好的热码重新加载支持,可以尝试JRebel。它是一个商业工具,但它支持更多的重新加载变体,并且还有一些框架支持。

我也读到过在生产服务器上使用它的公司。

与maven相关,您只需要注意,如果maven部署.war或.ear文件,它也不受IDE的控制(或者具有更强的限制)。这通常是让IDE在本地工作的最佳方式。