2017-02-14 132 views
0

我有一個Spring Boot應用程序,我保留一個基地application.properties,然後有幾個application-${profile}.properties文件,這些文件的配置對於多種開發環境有效。Spring Boot:從jar包中排除配置文件的配置屬性

我想保持這些application-${profile}.properties文件的源代碼控制,但因爲它們包含私人開發環境的細節,我希望能夠沒有他們創造一個jar包分發給第三方(即只與基application.properties)。這會強制用戶在執行(或以其他方式配置)時將其自己的application.properties添加到類路徑中,這是我的意圖。

我明白我可以文件移動到別處,而不是那些src/main/resources輪廓配置,使mvn package忽略他們,那麼這樣的文件夾添加到IDE中的配置類路徑...但我認爲有可能是一個更綜合的,優雅的方式與我缺少引導這樣做......

+0

你有沒有想過配置服務器的?這很容易設置使用春季啓動 –

+0

@扎卡里亞胺是的,但我想避免去那麼遠......謝謝! –

+0

我認爲你可以在jar文件運行期間傳遞參數,它可以覆蓋屬性文件中的值。 [外化](https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-external-config.html) –

回答

2

我沒有做自己,但根據文件,應用程序從以下位置

  1. 一個/config子目錄當前DIRECTO讀取性能RY。
  2. 當前目錄中的classpath /config
  3. 類路徑根

然後,你可以做

java -jar myproject.jar --spring.config.name=nameofpropertiesfile 
+0

我知道我錯過了一些東西。你是對的。所有'application - $ {profile} .properties'都轉到'/ config',IDE可以識別它們(當配置文件設置的足夠的時候),並且它們不會進入'.jar'。 Bootiful;)。非常感謝! –

相關問題