2016-06-08 28 views
2

我正在使用maven爲java應用程序構建一個war包。這場戰爭包括一些屬性文件(每個env包含大約10個文件),但它需要根據環境(dev,test,stage,prod)在以下文件夾中進行更新。如何在構建戰爭包後在java應用程序中添加/編輯屬性文件

/usr/local/tomcat/webapps/ROOT/WEB-INF/classes/ 
/usr/local/tomcat/webapps/ROOT/js 
/usr/local/tomcat/webapps/axis2/WEB-INF/classes/templates/ 
/usr/local/tomcat/webapps/axis2/WEB-INF/classes/ 

截至目前,我在每個虛擬機中都有一個腳本將這些屬性文件複製到提取的war文件夾中。但這很麻煩。因此我需要在構建過程中更新這些屬性文件。

問題:我們如何在maven或jenkins中實現這一點?

回答

1

要爲多個環境構建,您可以使用新的multienv-maven-plugin,將不同的配置作爲項目的一部分,併爲單個構建中的不同環境構建。

舉個例子,你的項目將提供不同的環境配置:

src 
    ├── main 
     ├── environments 
      ├── dev-01 
      │ └── first.properties 
      ├── dev-02 
      │ └── first.properties 
      ├── test-01 
      │ └── first.properties 
      ├── test-02 
      │ └── first.properties 
      └── prod 
       └── first.properties 

和插件將根據上述配置創建不同的文物:

- artifactId-version-dev-01.war 
- artifactId-version-dev-02.war 
- artifactId-version-test-01.war 
- artifactId-version-test-02.war 
- artifactId-version-prod.war 

那麼你就沒有必要進一步腳本而是將每個人工製品部署到其相關的目標環境。

+0

@ Nanab4u對你有幫助嗎?你沒有分享任何反饋? –

+0

是的,謝謝。 – Nanab4u

相關問題