在我的环境中,我有两个 Wildfly 服务器,我想在其中使用 wildfly-maven-plugin 进行部署。
服务器名称 dev01 和 dev02 不同,但端口 9993 和用户名和密码相同。
我的理解是 wildfly-maven-plugin 仅支持单服务器部署。
如果问题不够大,我们会使用模块/子模块结构,war 文件将构建在子模块中。
我正在使用两个配置文件 wildfly-deploy-dev01 和 wildfly-deploy-dev02。
<profiles>
<profile>
<id>wildfly-deploy-dev01</id>
<build>
<plugins>
<plugin>
<groupId>org.wildfly.plugins</groupId>
<artifactId>wildfly-maven-plugin</artifactId>
<configuration>
<skip>true</skip>
</configuration>
<executions>
<execution>
<phase>install</phase>
<goals>
<goal>deploy</goal>
</goals>
<configuration>
<skip>true</skip>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>wildfly-deploy-dev02</id>
<build>
[...]
<profiles>
在主模块中,我跳过了它。
在战争子模块中:
<profiles>
<profile>
<id>wildfly-deploy-dev01</id>
<build>
<finalName>${project.artifactId}-v1.0</finalName>
<plugins>
<plugin>
<groupId>org.wildfly.plugins</groupId>
<artifactId>wildfly-maven-plugin</artifactId>
<configuration>
<skip>false</skip>
<id>wildfly-credentials<id>
<hostname>dev01.example.com</hostname>
<protocol>remote+https</protocol>
<port>9993</port>
</configuration>
<executions>
<execution>
<phase>install</phase>
<goals>
<goal>deploy</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>wildfly-deploy-dev01</id>
<build>
[same as above for hostname dev02.example.com]
</profiles>
首先我认为一切都很好,但后来我发现只有最后一个服务器会被部署。
mvn wildfly:deploy -P wildfly-deploy-dev01,wildfly-deploy-dev02
我在执行标签之后设置了配置,但没有成功。看起来第二个配置文件会覆盖第一个配置文件。
此外,我对最终名称进行了硬编码,因为未解析 parsedVersion。
<finalName>${project.artifactId}-v${parsedVersion.majorVersion}.${parsedVersion.minorVersion}</finalName>
目前我迷失了Maven。有人知道如何在两台服务器上使用插件部署吗?
谢谢,马库斯
我尝试过的方法: