0

我有一个 Maven 项目。因此,当 java 文件发生更改时,我们会重新构建应用程序。将我们的ear 文件放入jboss 的deploy 文件夹并重新启动Jboss。这浪费了我们大量的时间来一次又一次地重新启动 jboss。

我听说过 Jboss 中的热部署。任何人都可以告诉我该怎么做。

4

2 回答 2

1

JBoss AS 5 默认启用热部署。

将 ear 放入部署文件夹后,它应该会在几秒钟后自动启动。

也许有人以前在您的实例上禁用了热部署。

然后看到关闭 JBoss 热部署服务?并做相反的事情。

于 2013-07-31T15:24:03.300 回答
0

据我了解,您需要一个类重新加载解决方案,而不是自动重新部署。

我最近用 JBoss 4.x 制定了一个解决方案。它也可能适用于 JBoss5.x。在大多数情况下,当我更改我的代码时,它会立即反映并且不会在 JBoss 中重新部署。

方法如下:

  1. 关闭JBoss热部署服务,你可以google一下。

  2. 在 JBoss 部署文件夹下创建一个名为project.war的文件夹,它就像一个战争文件。

  3. 使用文件同步工具(如FreeFileSync)将your_project_web_root文件夹同步到project.war文件夹。

  4. 最重要的部分,使用弹簧加载。这很容易,无需更改项目中的任何内容。

    4.1 下载springloaded.jar

    4.2 如果你使用 eclipse,只需在 JBoss Run Configuration 的 VM 参数中添加以下代码。

    -javaagent:/springloaded-{VERSION}.jar -noverify

而已。现在你修改/添加类中的方法或字段,然后将类文件同步到project.war文件夹,JBoss 将重新加载它并立即反映更改。但是 springloaded 仍然有一些限制,请阅读常见问题解答。

于 2014-06-13T15:15:37.950 回答