2016-09-27 55 views
1

我想用野蛮maven-plugin部署一个使用maven创建的战争给wildfly。Wildfly Deploy Maven - 删除版本


战争的最终名称是一样的东西:我-战争1.0.war
战争也包含的jboss-web.xml中指定上下文根(例如,/我的-war)


问题描述

如果我现在将战争部署到野蛮,我将获得“my-war-1.0.war”部署
如果我稍后想要部署新版本(例如战争现在命名为my-war-1.1.war),则会发生冲突,因为上下文根已知,但部署有新名称。


有没有办法使用wildfly-maven-plugin来部署“my-war.war”呢?

我需要在Maven构建版本中保留原始最终构建名称,以进行版本控制和部署到我们的连接。

回答

1

我发现我可以使用maven-wildfly-plugin的<configuration/>中的参数<name/><runtimeName/>

这样我就可以指定应该在服务器上调用哪个部署,每次只需要替换它。让这两个参数在“.war”处结束非常重要,否则您将收到404错误。

使用此方法,我可以保留包含版本(my-app-1.0.war)的最终构建结果的原始名称,并将其归档到我们内部的nexus存储库中。

3

最简单的解决方案是在<build/>配置上使用<finalName/>元素。

<build> 
    <finalName>${project.artifactId}</finalName> 
</build> 

你可以使用maven war插件重命名最终的战争。例如:

<build> 
    <plugins> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-war-plugin</artifactId> 
      <version>2.6</version> 
      <configuration> 
       <warName>my-war</warName> 
      </configuration> 
     </plugin> 
    </plugins> 
</build> 

这将在您的“目标”目录中始终生成名为my-war.war的战争。

+0

问题是我不想更改我的问题中提到的构建结果的名称。我希望它包含用于归档的版本信息。 – JDC

+0

工件的名称只会在'target'目录中更改。它仍然会在本地'.m2'版本库中发布为'my-war-1.0.war'。 –