gpt4 book ai didi

java - Apache Commons 配置将属性设置为环境变量 - 如何?

转载 作者:行者123 更新时间:2023-12-02 10:19:40 25 4
gpt4 key购买 nike

我的SpringBoot项目有依赖

            <dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-configuration2</artifactId>
<version>2.4</version>
</dependency>

我的 bootstrap.properties 文件包含诸如 aws.s3.name=${env:S3_NAME}

的行

根据 https://commons.apache.org/proper/commons-configuration/userguide/howto_basicfeatures.html 的文档,它应该可以使用这种语法。

但是当我尝试使用它时:

    @Value("${aws.s3.name}")
private String bucketName;

在我的 @Service 类中,它被初始化为“S3_NAME”。

为什么?我做错了什么?

编辑:我忘记添加我正在 docker 容器中启动应用程序,传递 -e S3_NAME=some_bucket_name 以及我的 docker run 命令

最佳答案

事实证明,我们没有使用正确的工具(或正确) - 正确的方法是将环境变量属性从 bootstrap.properties 移动到 application.properties -然后它就开始工作了!

我不知道为什么这两个文件在 Spring Boot 中的功能存在差异。

关于java - Apache Commons 配置将属性设置为环境变量 - 如何?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54429519/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com