我正在轉換項目的工作從春天應用與最小的變化春啓動(1.52)應用傳統的bean的配置XML文件)在應用程序引導文件中,啓用了log4J2日誌記錄,並使用Jersey而不是RestEasy來公開REST端點,一切正常。但是,我在與Jenkins部署時遇到了一個問題。在傳統的應用程序的bean.xml文件有背景:物業佔位符樣加載application.properties由使用可變文件路徑
<context:property-placeholder location="${apps.config.dir:classpath:conf}/myapp.properties" />
在tomcat環境配置文件變量,我們已經與
-Dapps.config.dir=file:/etc/my-app
這是工作文件替換。但在春季啓動應用程序,我已經tried-
<context:property-placeholder location="${spring.config.location:classpath:}application.properties"/>
我已經改名爲application.properties所以春天開機自動選擇配置文件,也改變了位置。上述位置在IDE中沒有classpath關鍵字的情況下也可以工作。傳統spring應用程序的一個顯着變化是額外的「:」,沒有它,IDE無法從bean.xml文件加載配置文件。在myapp.conf文件我已經通過了以下Java選項 -Dapps.config.dir=file:/etc/my-app/
這與以下錯誤消息(這次我沒地方/前application.properties文件名和放置額外的失敗放在/爲Java選項,我也曾嘗試相反的一個,但產生相同的結果)
2017-04-24-10:51:26:803|main|ERROR|SpringApplication|Application startup failed application.properties (No such file or directory)onException: Could not load properties; nested exception is java.io.FileNotFoundException: /etc/my-app/
我在Jenkins構建過程中也不包括application.properties文件。
但是,如果我手動更改文件,而不是類路徑和不通過一個適用於任何java的選擇,但我還沒有放置在數據文件夾在我的IDE失敗 -
<context:property-placeholder location="${spring.config.location:file:}application.properties"/>
此配置不因爲其他開發人員需要更改以在其IDE中運行它。我想讓它變得靈活,以便IDE和Jenkins可以像目前一樣無縫地工作,我們有Spring應用程序。我需要幫助來重新配置bean.xml變量路徑來加載application.properties文件。謝謝。
Hi @Pär感謝您的回覆。我已經使用以下xml屬性解析器作爲變通方法<上下文:屬性佔位符位置=「application.properties,文件:application.properties中」忽略資源未找到=「真」忽略-不可解析=「真」 /> – Nazrul
@Nazrul請注意,'@ PropertySource'在物業裝載具有優先權16和'application.properties'優先15.這意味着你不能在'application.properties'以'@ PropertySource'覆蓋性能 –