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

Micronaut中未加载特定于环境的属性

谭山
2023-03-14

我试图使用Micronaut 3加载特定于环境的属性。我有两个文件application.ymlapplication-dev.yml

application.yml

micronaut:
  security:
    authentication: bearer
    token:
      jwt:
        signatures:
          jwks:
            IdentityServer:
              url: 'https://localhost:5001/.well-known/openid-configuration/jwks'

application-dev.yml

micronaut:
  security:
    authentication: bearer
    token:
      jwt:
        signatures:
          jwks:
            identityServer:
              url: 'https://falconidentity.azurewebsites.net/.well-known/openid-configuration/jwks'

正在尝试访问URL

@ConfigurationProperties("micronaut.security.token.jwt.signatures.jwks.identityServer")
public record OAuthProperties(String url) {
}

 var ctx = ApplicationContext.run();
        var teamConfiguration = ctx.getBean(OAuthProperties.class);

在teamConfiguration变量中,我可以看到应用程序中的值。yml文件不是来自application-dev.yml文件。

正如我所知,默认情况下Micronaut只查找应用程序。yml。然后,对于测试、开发和产品,它加载应用程序。yml并用应用程序测试中定义的值覆盖其中的任何值。yml、application-dev.yml和application-prod.yml。然而,这对我不起作用。

我也设置了默认环境

Micronaut.build(args)
                .mainClass(ApiGateway.class)
                .defaultEnvironments("dev")
                .start();

共有2个答案

暨嘉
2023-03-14

您可以创建没有环境的第二个应用程序,而不是使用带有“开发”环境的现有应用程序。

您可以插入现有上下文,而不是创建新上下文

@Inject
ApplicationContext applicationContext;
益锦程
2023-03-14

您没有在此处设置默认环境

ApplicationContext.run();

那就是为什么

 类似资料:
  • 我正在一个spring启动的应用程序,我需要你的协助在下面的场景。 我有每个环境的属性文件,比如application-dev.properties,application-prod.properties等。我的应用程序可以通过使用spring@profile注释来加载特定于环境的属性文件。 请帮帮忙。

  • 问题内容: 这似乎是一个很常见的问题,但是我没有找到关于最佳方法的任何共识,因此我在这里提出了这个问题。 我正在使用Spring Batch和Spring开发命令行Java应用程序。我正在使用属性文件以及PropertyPlaceholderConfigurer,但是我不确定为多个环境(开发,测试等)处理属性文件的最佳方法。我的Google搜索只提供了一种编程方式来加载属性(即,在Java代码本身

  • 尝试根据环境使用不同的配置文件。例如 在dev环境中,我有以下文件 application-dev.yml 对于另一个环境,我有以下配置 应用yml 现在,当我在intellj中运行应用程序时,应用程序正在使用文件。它应该选择和,但它正在从。但是,它应该只从dev文件中选取该值,而所有其他值都应该从 根据micronaut文件https://docs.micronaut.io/latest/gui

  • 我正在spring boot中构建一个可重用的库,它可以调用Rest API并进行一些验证。这将构建为JAR,目标是通过添加pom将此库用作maven依赖项。其他spring boot项目中的xml。 问题是库如何知道要加载哪些环境属性。因为它没有在任何服务器上运行。例如:调用应用程序将包含为依赖项,并部署在dit环境中。我希望库能够获取dit属性,如url、令牌等,以及关于如何实现这一点的任何建

  • 这是我的next.config.js文件:

  • 我正试图在我的Spring Boot 1.4应用程序中实现Jasypt,因为在这样的小应用程序中使用Spring Cloud Config似乎有些过头了。然而,我显然不理解Spring Boot如何确定其运行的环境,以及如何使用适当的属性文件。我需要加密存储的数据源属性,例如: 在我的目录中,我有三个文件: <代码>应用程序。属性:spring的单个条目。配置文件。活动=本地 <代码>应用程序本地