2016-04-07 108 views
2

我添加了name参数上使用Wildfly Maven插件我部署:Wildfly Maven Plugin忽略部署名称?

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

回答

1

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

... 
<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,所以部署将被正确处理。

+0

按照你所说的,我现在可以更改部署名称,但运行时名称总是复制名称。我尝试过不同的组合,但仍然无法使用。我希望版本保留在运行时名称中。与文档中所述内容类似:https://docs.jboss.org/wildfly/plugins/maven/latest/deploy-mojo.html#runtimeName再次感谢,并感谢您的快速回复。 –

+1

您是在指定''配置属性还是使用'wildfly.deployment.runtime.name'命令行属性?如果不是,则运行时名称将默认为部署名称。 –

+0

我有这个在我的pom.xml: A B'/runtime.name> ... org.wildfly。插件 wildfly-行家-插件 <结构> $ {deployment.name} <运行时间名> $ {runtime.name} \t \t \t \t ... 运行时名称不受尊重。它复制部署名称