我可以看到許多關於特定環境屬性的帖子,但沒有一個能夠解決我的問題。春季引導,環境特定的屬性位置
我正在研究我的彈簧啓動應用程序,它將擁有兩個配置文件dev/live。
我想我的項目有以下結構:
--deployment
--dev
--myapp.properties
--live
--myapp.properties
--src
--main
--java
--resources
--test
--java
我知道,如果我有兩個application.properties
在我的資源文件夾,說application-live.properties
和application-dev.properties
我可以告訴Maven的哪一個來接在應用程序啓動時使用:
Dspring.profiles.active=profile_name
但我不喜歡這個通用屬性文件的名稱。所以我找到了這種方式來告訴應用程序在/deployment/<profile>/
的哪裏尋找配置文件特定的屬性。
我這樣做是使用Maven構建任務配置:
<build>
<resources>
<resource>
<directory>deployment/${environment}</directory>
<includes>
<include>*.properties</include>
<include>*.xml</include>
</includes>
</resource>
</resources>
</build>
這將會在deployment/<profile>
尋找資源,包括他們。好的是,Maven找到了正確的環境屬性文件,但不幸的是它包含在target/classes/myapp.properties
中,這對Spring Boot來說看起來是不可見的?我如何告訴Maven將它放在與application.properties
相同的目錄下,或者我怎麼能告訴Spring Boot現在它在哪裏?
非常感謝!
如果我想擁有多個屬性文件,而不僅僅是一個,該怎麼辦?每種環境我都有一種類型。 –
不支持多個'application.properties'文件。但是您可以在'application-properties'文件中的'application.properties'和其他配置文件特定參數中定義公共參數。 –
好的,我決定去'application- {profile} .properties'解決方案。我在'/ deployment'下仍然有這些配置文件特定的屬性。謝謝。 –