2013-05-02 127 views
1

我正在開發一個帶有多個模塊的java maven項目。如何在Maven中的模塊之間共享配置文件

我面臨着將配置文件從一個模塊共享到其依賴的問題。 例如,我有一個名爲utils的模塊,它包含一個log.properties文件,我想在另一個名爲gui的模塊中使用它。最佳做法是什麼?

目前我們把log.properties放在config目錄下,因爲Maven標準佈局提示它,它不包含在jar文件中。這是對的嗎 ?我應該把它放在資源而不是?

我使用程序集插件將它複製到一個通用的配置目錄,這很好,但是當我嘗試單獨構建每個模塊時,配置文件無法到達。我該如何解決這個問題?

感謝您的幫助, Pierre。

回答

1

你應該把你的配置放在src/main/resources/config/。這樣它將默認包含在jar中。 maven約定默認情況下,最終jar中只包含src/main/javasrc/main/resources

將屬性文件直接訪問到其他模塊並不是一個好習慣。您應該在擁有配置的模塊中提供服務,該配置是訪問這些文件的唯一位置。該服務將能夠給其他模塊配置。否則,您違反單一責任原則。

+0

感謝您的回答,那就是我最終做的。 – Pierre 2013-05-06 11:23:33

0

您可以將maven配置爲在構建的工件中包含src/main/config目錄,方法是在pom的資源部分中指定它,如here所述。

相關問題