我正在使用 Mac OS Mojave 和 Spring STS 版本 3.9.7。所以我試圖將一些環(huán)境變量(例如數(shù)據(jù)庫用戶名和密碼)加載到我的 application.properties 文件中,但 Spring 無法將它們加載到。我使用此命令設置用戶名環(huán)境變量:export ABC_DB_UNAME=some_username當我執(zhí)行echo $ABC_DB_UNAME或printenv時,我可以看到該值。在我的 application.properties 文件中,我將用戶名設置如下:spring.datasource.username=${ABC_DB_UNAME}現(xiàn)在,當從 IDE 本身運行我的 spring sts 時,它無法獲取值并拋出一個異常ABC_DB_UNAME@database_endpoint 的訪問被拒絕。它清楚地表明 spring sts 沒有獲取我的環(huán)境變量。對我來說更麻煩的是,當我使用以下命令通過 maven 運行 spring 應用程序時,它會獲取環(huán)境變量并且工作正常。mvn spring-boot:run但是使用 mvn 命令我不知道如何讓 IDE 觸發(fā)斷點以便我也進行調(diào)試。編輯:測試并嘗試使用代碼 System.getenv("ABC_DB_UNAME") 和 System.getProperty("ABC_DB_UNAME") 打印環(huán)境變量也返回 null 但 Maven 仍然有效。
1 回答

肥皂起泡泡
TA貢獻1829條經(jīng)驗 獲得超6個贊
我認為環(huán)境變量是在終端中臨時設置的。因此,mvn spring-boot:run
作品。你可以在不同的終端運行它,它應該會失敗
您需要在 bashrc (mac) 中設置 ${ABC_DB_UNAME} 以永久保留它。或者您可以在運行應用程序期間將環(huán)境變量作為參數(shù)傳遞。
添加回答
舉報
0/150
提交
取消