[英]Building 2 jars with different source with Maven
我正在嘗試從1個Java項目構建2個jar。 這兩個jar會在構建時具有完全相同的源,除了一個會在布爾值設置為True的情況下構建,而另一個在布爾值設置為False的情況下構建。
例:
Jar 1將具有所有相同的源,但在1個Java文件中將具有:
public static final boolean ENABLE_TOAST = True;
Jar 2將具有所有相同的源,但在同一java文件中將具有:
public static final boolean ENABLE_TOAST = False;
我對Maven和Ant相對較新,因此有了使用maven-replacer-plugin的想法。 但是,我找不到以前做過這樣的事情的人。
我的方法是創建三個屬性文件:
2)和3)對於每種環境都有不同的設置(即ENABLE_TOAST = prod為false,測試為true)
該應用程序當然僅使用app.properties
在構建時,我將app.properties替換為正確環境(2或3)的內容
在ANT中,我有兩個目標,每個目標都有一個復制文件命令,且覆蓋標志設置為true。
我確定MAVEN具有類似的功能(太忙了,無法在ATM上查找它)
希望這可以幫助
您嘗試執行的操作不是標准做法,因此也不建議這樣做,您應該使代碼脫離這些類型的做法。
此類問題的最佳解決方案是盡可能多地外部化屬性,最重要的是,盡量避免使這些屬性文件成為jar的一部分。 將它們存儲在服務器中的某個位置。
我可以舉一個非常簡單的例子,在我們的應用程序中,針對不同的環境(例如Dev,QA,UAT等),我們具有不同的數據庫連接詳細信息,因此,我們在屬性中提供了所有這些值,而不是將所有這些東西集成到Java代碼中文件,借助Java代碼,我們正在應用程序啟動期間讀取這些屬性。
謝謝
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.