2017-02-23 129 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

相关问题