Wildfly Maven 插件忽略部署名称?

Wildfly Maven Plugin ignores deployment name?

我使用 Wildfly Maven 插件在我的部署中添加了 name 参数:

mvn wildfly:deploy -Dname=myapp  -Dwildfly.hostname=myserver -Dwildfly.username=user -Dwildfly.password=pwd 

但是,它继续使用 Maven 版本和扩展进行部署。 这是它在 standalone.xml

中的样子
<deployment name="myapp-1.1-SNAPSHOT.war" runtime-name="myapp-1.1-SNAPSHOT.war">
    <content sha1="17e09de2cd8f78ffd033a90b4e82bdb52eb9485b"/>
</deployment>

原因是为了简化部署过程。 Maven 发布后,部署名称更改为myapp-1.1.war,新开发变为myapp-1.2-SNAPSHOT.war。我们不想取消部署版本 myapp-1.1.war 和部署 myapp-1.2-SNAPSHOT.war,而是希望将其简化为一个步骤 - 只需重新部署 myapp,它应该会覆盖旧版本。

顺便说一句,如果我只是部署,我会有两个版本。

明确一点,这是目标:

<deployment name="myapp" runtime-name="myapp-1.1-SNAPSHOT.war">
    <content sha1="17e09de2cd8f78ffd033a90b4e82bdb52eb9485b"/>
</deployment>

这似乎是一个非常简单的案例,它应该按照文档工作:https://docs.jboss.org/wildfly/plugins/maven/latest/deploy-mojo.html

您不能通过命令行覆盖名称参数。您需要为名称配置参数添加配置 属性 并在命令行上覆盖它。

...
<properties>
    <deployment.name>${project.build.finalName}.${project.packaging}</deployment.name>
</properties>
...
<plugin>
    <groupId>org.wildfly.plugins</groupId>
    <artifactId>wildfly-maven-plugin</artifactId>
    <version>1.1.0.Alpha7</version>
    <configuration>
        <name>${deployment.name}</name>
    </configuration>
</plugin>
...

然后在命令中可以使用 -Ddeployment.name=myapp。不过请注意,您需要使用适当的文件扩展名,例如.war,因此部署将得到正确处理。