2011-08-25 102 views
5

我必須在開發和生產中使用不同的log4j.xml和屬性文件。我正在使用maven進行建築和包裝。有沒有一種方法可以讓maven選擇dev或prod由POM中的可配置maven屬性或傳遞運行時變量?Dev和prod使用Maven的不同配置文件

感謝, 阿比

回答

6

基於Maven中的配置文件的想法不是最好的,因爲這會迫使你運行你的構建幾次,這意味着如果你有兩個環境,你必須運行你的構建兩次,如果你有更多的思考這個。 最好的解決方案是與Maven-Assembly-Plugin一起工作,爲單個步驟中的不同環境創建一組工件,這些工件將與分類器截然不同。我做了一個完整的例子here

2

是,使用Maven profiles

使用POM中可用的元素子集(加上一個額外的部分)指定配置文件,並以各種方式觸發配置文件。它們在構建時修改POM,並且旨在用於補充集以爲一組目標環境提供等效但不同的參數(例如,提供開發,測試中的應用服務器根的路徑,以及生產環境)。

2

作爲替代profiles,它允許你選擇你的構建過程中要麼「開發」或「刺」,你可能會考慮使用maven-assembly-plugin這樣就可以建立兩個「開發」和「刺」每次構建時都要使用組件。

相關問題