【问题标题】:Why my environment variables doesn't work in Spring(maven)?为什么我的环境变量在 Spring(maven) 中不起作用?
【发布时间】:2021-12-29 17:45:45
【问题描述】:

我正在使用 intellij,我在 Maven 配置中设置了环境变量(右上角,添加配置、运行器、环境变量)

这就像是将变量名读取为字符串而不是变量 请帮忙

应用程序属性:

server.port=8081
spring.jpa.hibernate.ddl-auto=update
spring.datasource.url=jdbc:mysql://${MYSQL_HOST}?zeroDateTimeBehavior=convertToNull
spring.datasource.username=${SERVICE_USER}
spring.datasource.password=${SERVICE_PASSWORD}
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.jpa.properties.hibernate.globally_quoted_identifiers=true
#spring.jpa.show-sql: true

环境变量(在 Maven 配置中):

SERVICE_PASSWORD=;MYSQL_HOST=localhost:3306/orderup;SERVICE_USER=root

消息:

No such host is known (${MYSQL_HOST})

pom.xml:

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>
<plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <configuration>
                    <excludes>
                        <exclude>
                            <groupId>org.projectlombok</groupId>
                            <artifactId>lombok</artifactId>
                        </exclude>
                    </excludes>
                </configuration>
            </plugin>
        </plugins>
        

【问题讨论】:

  • 能否请edit发帖并附上pom.xml的相关部分?
  • 你是通过maven的文件过滤运行properties文件吗?如果我没记错的话,maven 只会将这些变量暴露给 pom/其他 maven 工件,除非您手动指定其他文件。
  • @Turing85 完成。
  • @Rogue 我觉得不是,我不知道那是什么,我去搜索一下,谢谢

标签: spring spring-boot hibernate maven intellij-idea


【解决方案1】:

如果您尝试在application.properties 中使用来自pom.xml 的属性,请尝试以下操作:

spring.datasource.url=jdbc:mysql://@MYSQL_HOST@?zeroDateTimeBehavior=convertToNull

【讨论】:

  • 不,我正在尝试使用maven配置中的属性,在右上角的intellij中,编辑配置,运行器,环境变量
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-01-28
  • 1970-01-01
  • 2015-11-13
  • 1970-01-01
  • 1970-01-01
  • 2018-11-11
相关资源
最近更新 更多