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

Spring Boot加载配置文件,默认会从几个固定位置搜索一下看看有没有配置文件

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

这几个位置分别是:

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

他们定义在:

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

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

看到这个地方你应该明白了:

后边两个带“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

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

上一篇:Shell函数的7种用法介绍


下一篇:Unity3D 处理Label的颜色代码