我有一个 Maven 项目。因此,当 java 文件发生更改时,我们会重新构建应用程序。将我们的ear 文件放入jboss 的deploy 文件夹并重新启动Jboss。这浪费了我们大量的时间来一次又一次地重新启动 jboss。
我听说过 Jboss 中的热部署。任何人都可以告诉我该怎么做。
我有一个 Maven 项目。因此,当 java 文件发生更改时,我们会重新构建应用程序。将我们的ear 文件放入jboss 的deploy 文件夹并重新启动Jboss。这浪费了我们大量的时间来一次又一次地重新启动 jboss。
我听说过 Jboss 中的热部署。任何人都可以告诉我该怎么做。
据我了解,您需要一个类重新加载解决方案,而不是自动重新部署。
我最近用 JBoss 4.x 制定了一个解决方案。它也可能适用于 JBoss5.x。在大多数情况下,当我更改我的代码时,它会立即反映并且不会在 JBoss 中重新部署。
方法如下:
关闭JBoss热部署服务,你可以google一下。
在 JBoss 部署文件夹下创建一个名为project.war的文件夹,它就像一个战争文件。
使用文件同步工具(如FreeFileSync)将your_project_web_root文件夹同步到project.war文件夹。
最重要的部分,使用弹簧加载。这很容易,无需更改项目中的任何内容。
4.1 下载springloaded.jar
4.2 如果你使用 eclipse,只需在 JBoss Run Configuration 的 VM 参数中添加以下代码。
-javaagent:/springloaded-{VERSION}.jar -noverify
而已。现在你修改/添加类中的方法或字段,然后将类文件同步到project.war文件夹,JBoss 将重新加载它并立即反映更改。但是 springloaded 仍然有一些限制,请阅读常见问题解答。