首页 > 解决方案 > application-test.properties 无法访问环境变量

问题描述

我已经在windows上设置了环境变量,实际上当我回显它们=时,我可以看到它们的详细信息,但是,当我运行测试时,它们似乎看不到环境变量。我见过类似的问题,但它们没有帮助。像这个这个等等,但没有运气。

这是我的application-test.properties文件

## PostgreSQL
spring.datasource.url=jdbc:postgresql://${DB_HOST}:${DB_PORT}/users_regsitration_test
spring.datasource.username= ${DB_USERNAME}
spring.datasource.password= ${DB_PASSWORD}
spring.jpa.properties.hibernate.jdbc.lob.non_contextual_creation=true

那么,这是我得到的例外:

users_regsitration_test
    at com.zaxxer.hikari.util.DriverDataSource.<init>(DriverDataSource.java:108)
    at com.zaxxer.hikari.pool.PoolBase.initializeDataSource(PoolBase.java:336)
    at com.zaxxer.hikari.pool.PoolBase.<init>(PoolBase.java:109)
    at com.zaxxer.hikari.pool.HikariPool.<init>(HikariPool.java:108)
    at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112)
    at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:157)
    at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:115)
    at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:78)
    at org.springframework.jdbc.support.JdbcUtils.extractDatabaseMetaData(JdbcUtils.java:319)
    at org.springframework.jdbc.support.JdbcUtils.extractDatabaseMetaData(JdbcUtils.java:356)

标签: windowsspring-bootintellij-ideaenvironment-variables

解决方案


如果您在 IDE 中运行它,则需要在“运行配置”中设置这些变量。

我假设您使用的是 IntelliJ 或 eclipse,这可以配置为,

  1. Eclipse:转到您的运行配置,运行 -> 运行配置 -> 环境选项卡 -> 选择,这将为您提供选择现有环境变量的选项,无论您想用于此应用程序。

在此处输入图像描述

  1. 同样的方法可以添加到 IntelliJ,运行 -> 编辑配置 -> 环境变量:

在此处输入图像描述


推荐阅读