当前位置: 首页 > 知识库问答 >
问题:

当从命令行提供附加配置位置时,不从外部配置加载属性

宗沛
2023-03-14
import org.springframework.beans.factory.annotation.Value;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
@RequestMapping("/api")
public class ExternalPropTestController {

    @Value("${com.x.db.url}")
    private String url;

    @Value("${com.x.db.secret}")
    private String secret;

    @GetMapping("/")
    public ResponseEntity<String> greet() {
        return new ResponseEntity<>(url+" : "+secret, HttpStatus.OK);
    }
}
com:
  x:
    db:
      url: external url
      secret: external secret

在启动应用程序时获取以下错误

共有1个答案

相高谊
2023-03-14

根据文档,SpringApplication将任何命令行选项参数(即以--开头的参数,如--server.port=9000)转换为属性,并将它们添加到Spring环境中。

-d在通过Maven运行时有效。尝试:java-jar application.jar--spring.config.location=file:///c:/your//path//config.yml

通过maven:mvn spring-boot:run-dspring.config.location=“file:///c://your//path//config.yml”

 类似资料:
  • 问题内容: 我当然缺少有关喷油器的一些基本知识,但是我无法理解为什么 还有这个 按预期工作,而这 会抛出 错误:[$ injector:unpr]未知提供程序:$ provideProvider <-$ provide 如下所述,与提供者有一些特殊的关系,而与实例打交道时,我不确定使块如此特别的东西。 结果,是否没有办法到达外部块,例如,使用(尽管似乎也获得了提供者实例)? 除了好奇心外,这个问题

  • 我正在尝试从YML加载配置。如果这些是逗号分隔的值,我可以加载值,也可以加载列表。但我无法加载典型的YML列表。 配置类 工作路线。yml 不工作。yml 为什么我不能加载yml的第二个版本/我有一个语法错误? 环境:科特林,Spring2.0.0。M3

  • 在Gradle for Android中,为发布版本定义签名配置似乎是常见的做法,如下所示: 问题是,我想把我的build.gradle文件保存在版本控制中,并且在一些git服务器上没有我的密钥库的密码(这与我用于其他东西的密码相同,愚蠢的,我知道)没有好的感觉。 有没有办法从硬盘驱动器上的某个位置从外部文件加载签名配置?

  • 我有一个内部application.yml文件,位于classpath资源中,包含以下字段: 有一个外部配置文件:config.properties。它定义了一些要在我的服务器上下文中重写的字段。文件配置.属性: 我正在使用以下命令运行应用程序: 如何使spring正确地重写内部配置文件,使其只重写额外的属性(redis.hostname、redis.password),但仍然保留在内部文件中定义

  • 在我的spring boot 2应用程序中,我有一个应用程序。yml as, 我的配置类是, 代码在本地计算机中运行良好,所有值都按预期加载。但cloud env Consor将yml文件序列化为环境变量,因此我的配置表示为, 这是一个字符串。我不知道Consor以何种格式表示/序列化值。现在我的DefaultRateLimitsConfig无法加载,因为它会出错, 如何以更干净的方式在两个环境中

  • 问题内容: 我有一个Spring Boot应用程序。 我的应用程序中有三个配置文件-> 开发,暂存和生产。所以我有3个档案 应用程序开发 application-staging.yml application-production.yml 我的application.yml驻留在内部。我在application.yml中将活动配置文件设置为: 其他3个配置文件特定的配置文件位于文件夹中。 我正在使