6

我对创建 fat-jar JavaEE 应用程序的 Wildfly Swarm 项目很感兴趣,但不知道如何从 IDE 中“热部署”更改的类。

每当我更改一行代码或 JSF xhtml 文件时,我目前都必须重新启动整个应用程序,这需要 7 秒左右的时间。这不是很有成效。

Spring Boot 提供了一个 spring-boot-devtools 至少重新加载一些类,传统的应用服务器提供热部署协议。Wildfly Swarm 有类似的东西吗?JRebel 会在这里提供帮助吗?

4

4 回答 4

6

通过调用自己的 Main 类或 org.wildfly.swarm.Swarm 类,您可以直接从您喜欢的 IDE 中的源代码将 WildFly Swarm 作为 Java 应用程序运行。这为您节省了打包步骤。

至于热类重新加载,像往常一样,JVM 将能够重新加载非结构性更改,但每当您“破坏”类签名时都必须重新启动。我还没有尝试过,但 JRebel 很可能能够在那里提供帮助。

如果你是 Eclipse 用户,你可以试试wildfly-hive。它尝试自动检测 swarm 应用程序并在服务器视图中创建匹配的服务器。您只需单击启动/调试/停止,类似于 Eclipse 中的标准服务器。

于 2016-04-14T23:37:04.810 回答
1

我的解决方案是使用 IntelliJ IDEA 并从我的来源创建一个爆炸的 WAR 工件。不要包含任何 WildFly Swarm 依赖项,但要包含其他所有内容。

然后,您可以使用带有 JBoss 运行配置的常规旧 WildFly Standalone,IntelliJ 将部署爆炸战争。从那里您可以进行热插拔、调试等。

对于开发,请在 WildFly Standalone 上运行您的代码。对于生产,使用 WildFly Swarm jar。这对我来说非常有效,而且我已经使用这种方法几个月了,没有遇到很多问题。

于 2016-10-11T00:48:25.753 回答
1

我知道这有点晚了,但是在使用 IntelliJ IDEA 时,我们使用的是 org.wildfly.swarm.Swarm 类,它可以从 IDE 启动,它使您能够在调试模式下热重载类。您可以使用它进行运行配置,确保设置工作目录和模块配置的使用类路径。

于 2018-07-18T14:11:51.670 回答
-3

我建议使用 IntelliJ Idea。它的 JavaEE 项目模板可以在大多数应用服务器上进行热部署。

于 2016-03-22T21:27:31.650 回答