2016-09-27 73 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'。 –