Wildfly Maven插件不会使Wildfly示例在后台运行

2lpgd968  于 2022-11-02  发布在  Maven
关注(0)|答案(1)|浏览(140)

我有一个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:startmvn wildfly:run时,WildFly示例启动正常,应用程序可用,但当达到超时值时,Maven进程退出,WildFly进程接收到关闭的操作系统信号,然后停止示例。我希望的是,在Maven退出后,WildFly进程仍在后台运行。
在插件文档中,我读到“*wildfly:start启动应用服务器并保持进程运行 *",所以我猜测至少start目标会在退出后保持Wildfly示例运行。但我看到的不是这样。我如何使用插件来启动WildFly示例并在Maven退出后保持它在后台运行?
先谢谢你。干杯!

vptzau2j

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/

相关问题