2017-02-23 52 views
0

我從我的環境變量中獲取值時遇到了問題。有許多類似的問題。但他們的NONE工作對我來說如何在applicaton.properties中設置系統環境變量的12因子方式?

Application.properties

spring.datasource.platform=postgres 
spring.datasource.url=jdbc:postgresql://localhost:5432/mydb 
spring.datasource.username=${SPRING_DATASOURCE_USERNAME} 
spring.datasource.password=${SPRING_DATASOURCE_PASSWORD} 

系統變量

Variable name : SPRING_DATASOURCE_USERNAME 
Variable Value : dbuser 

Variable name : SPRING_DATASOURCE_PASSWORD 
Variable Value : 123456789 

錯誤

invalid username/password; logon denied 

但是當我硬編碼它,它工作正常。

更新

回答

1

在統環境變量定義值後。您必須重新啓動eclipse才能執行操作,否則它將不會讀取最近設置的值。

+0

與IntelliJ有相同的問題。謝謝。 – DOUBL3P

1

如果你設置了正確的environmvent變量,應該工作。 例如:export SPRING_DATASOURCE_USERNAME=root

您還可以設置屬性,通過環境變量spring.datasource.usernamespring.datasource.passwordSPRING_DATASOURCE_USERNAMESPRING_DATASOURCE_PASSWORD。 然後,您不必在application.properties中寫入任何關於該內容的信息。

也請參閱有關外部配置的彈簧引導文件:https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-external-config.html

+0

我做了你所說的並從application.properties中刪除了用戶名和密碼。只有在環境中定義它。我收到相同的錯誤。 – Jesse

+0

你是如何設置環境變量的?當我設置它們是這樣的:'export SPRING_DATASOURCE_USERNAME = root' –

+0

爲什麼你有「導出」?我去了我的windows類型環境變量。並手動添加它。 – Jesse

相關問題