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

Java 使用Netbeans在远程服务器上进行热部署,java,maven,netbeans,glassfish,Java,Maven,Netbeans,Glassfish,我的maven项目配置为在本地glassfish服务器上运行。当我对Java类或JSP文件进行任何更改时,它会自动部署 但是,如果我将同一个项目配置为在远程服务器上运行,当我点击“保存”按钮时,它不会自动部署任何内容,我必须手动点击“运行”按钮 我做错什么了吗 谢谢 不是这样的 热代码替换在IDE中工作,因为它可以控制java进程和类加载。一旦在远程机器上,进程就不能再由IDE控制 根据您使用的框架(Spring、JPA等),即使热代码替换也可能不会产生预期效果,因为这些框架需要在启动期间初始化

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

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

我做错什么了吗


谢谢

不是这样的

热代码替换在IDE中工作,因为它可以控制java进程和类加载。一旦在远程机器上,进程就不能再由IDE控制

根据您使用的框架(Spring、JPA等),即使热代码替换也可能不会产生预期效果,因为这些框架需要在启动期间初始化

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

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

我也读过一些公司在生产服务器上使用它


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

谢谢!我现在明白了。