在Docker容器中運行Spring Boot的jar包 jar外的配置文件無法生效


Spring Boot加載配置文件,默認會從幾個固定位置搜索一下看看有沒有配置文件

——application.properties或者bootstrap.properties(如果你使用了spring cloud 相關jar包的話)存在。

 

這幾個位置分別是:

classpath:/,classpath:/config/,file:./,file:./config/

 

他們定義在:

 

看到這個地方你應該明白了:

后邊兩個帶“file:”的目錄是相對目錄,相對的不是你的jar包的存放位置,而是你執行java -jar的目錄。

 

為了方便理解,再打個比方吧:

假如你的jar包路徑為: /usr/apps/app.jar

而你在根目錄“/”下執行了:java -jar /usr/apps/app.jar

那么你的配置文件不應該放在 /usr/apps/config 或者/usr/apps/ 下,而是應該放在 / 或者 /config下。

 

當然你也可以直接使用 

 java -jar /usr/apps/app.jar --spring.config.location=/usr/apps/application.properties

 直接指定配置文件的路徑。

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM