我有一个Maven Java项目的持续构建作业,我需要在作业结束时将构建的应用程序部署到WildFly 21示例,该示例必须保持启动和运行。
由于这是一个Maven项目,我计划使用WildFly Maven插件。我在POM上使用Maven 3.6.3配置了版本3.0.2.Final:
<plugin>
<groupId>org.wildfly.plugins</groupId>
<artifactId>wildfly-maven-plugin</artifactId>
<version>3.0.2.Final</version>
<configuration>
<jboss-home>${jboss.home}</jboss-home>
<server-config>${jboss.ser.config}</server-config>
<properties-file>${jboss.properties.file}</properties-file>
<server-args>
<server-arg>jboss.server.base.dir=${jboss.server.base.dir}</server-arg>
</server-args>
<java-opts>
<java-opt>-Xmx2048m -Xms640m -XX:MaxPermSize=256M</java-opt>
</java-opts>
<startup-timeout>240</startup-timeout>
<timeout>240</timeout>
<protocol>remoting</protocol>
<force>true</force>
<filename>${filename}</filename>
<name>${warfile.name}</name>
<checkPackaging>false</checkPackaging>
<hostname>${jboss.hostname}</hostname>
<port>${jboss.management.port}</port>
</configuration>
当我执行mvn wildfly:start
或mvn wildfly:run
时,WildFly示例启动正常,应用程序可用,但当达到超时值时,Maven进程退出,WildFly进程接收到关闭的操作系统信号,然后停止示例。我希望的是,在Maven退出后,WildFly进程仍在后台运行。
在插件文档中,我读到“*wildfly:start启动应用服务器并保持进程运行 *",所以我猜测至少start
目标会在退出后保持Wildfly示例运行。但我看到的不是这样。我如何使用插件来启动WildFly示例并在Maven退出后保持它在后台运行?
先谢谢你。干杯!
1条答案
按热度按时间vptzau2j1#
我认为插件正在做它应该做的事情,因为
mvn wildfly:start
的范围是Starts a standalone instance of WildFly Application Server. The purpose of this goal is to start a WildFly Application Server for testing during the maven lifecycle.
,正如插件主页上所述,所以他们确实意味着这只是为了测试,当达到关闭目标时,应用服务器将终止,这是完全有意义的。因此,我认为对于这种情况,您应该已经启动并运行了一个应用服务器示例(wildfly),然后使用
mvn wildfly:deploy
执行连续工作,因为您不希望在其他环境(如UAT或PROD)中的应用服务器在每次执行部署时都重新启动。更多详细信息,请访问:https://docs.jboss.org/wildfly/plugins/maven/latest/