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 中的屬性文件。
添加回答
舉報