簡體   English   中英

使用Maven構建2個不同來源的jar

[英]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的想法。 但是,我找不到以前做過這樣的事情的人。

我的方法是創建三個屬性文件:

  1. app.properties
  2. app.properties.test.environment
  3. app.properties.prod.environment

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM