3 回答

TA贡献1806条经验 获得超8个赞
尝试将绝对系统路径指定为file:
属性值。
或者,我建议先将该绝对路径设置为 ENV 变量,然后在以下位置使用该变量file:
:
@PropertySource("file:${EXTERNAL_RESOURCE_DIR}/application.properties")
因此,当该目录更改时,您无需更改代码。

TA贡献1829条经验 获得超7个赞
Maciej Kowalski 的类似回答。
@PropertySources({
@PropertySource(value = {"classpath:application.properties"}, ignoreResourceNotFound = true),
@PropertySource(value = {"file:${external.config.location}/application.properties"}, ignoreResourceNotFound = true)
})
假设在文件夹“ /home/me/configs ”中有“ application.properties ”文件。
使用自定义文件夹运行应用程序:
java -jar app.jar --external.config.location="/home/me/configs"
或者
java -jar app.jar --external.config.location="C:\\users\\your_user\\configs"
此外,您可以将其导出为环境变量(unix)
export JAVA_OPTS='-Dexternal_config_location=/home/me/configs'

TA贡献1876条经验 获得超7个赞
解决方案是删除 external.properties 和配置文件。而不是使用它,而是将所有属性放入 application.properties。并将 application.properties 放入带有 jar 的文件夹中。Spring 自动将此属性文件优先于 jar 中的属性文件。
添加回答
举报