我想使用wildfly-maven-plugin将我使用maven创建的战争部署到wildfly .
战争的最终名称如下: my-war-1.0.war
战争还包含 jboss-web.xml 指定 context root (例如/ my-war)
Problem Description
如果我现在将战争部署到野外飞行,我将获得 "my-war-1.0.war" deployment .
如果我后来想要部署一个新版本(例如,war现在命名为 my-war-1.1.war ),我会发现冲突,因为上下文根已经知道,但部署有一个新名称 .
是否有办法使用wildfly-maven-plugin来部署“my-war.war”?
我需要在maven构建中保留原始的最终构建名称,以便进行版本控制并部署到我们的nexus .
2 回答
最简单的解决方案是在
<build/>
配置上使用<finalName/>
元素 .你可以使用maven war插件重命名最后的战争 . 对于Eg:
这将始终在您的“目标”目录中生成名为my-war.war的战争 .
我发现我可以在maven-wildfly-plugin的
<configuration/>
中使用参数<name/>
和<runtimeName/>
.这样我就可以指定应该在服务器上调用的部署,每次只需要替换它 . 让两个参数以 ".war" 结尾非常重要,否则会出现404错误 .
使用此方法,我可以保留包含版本(my-app-1.0.war)的最终构建结果的原始名称,并将其存档在我们的内部nexus存储库中 .