0

尝试根据环境使用不同的配置文件。例如

在开发环境中,我有以下文件

应用程序-dev.yml

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

对于另一个环境,我有以下配置

应用程序.yml

micronaut:
  application:
    name: feteBirdApigateway
  server:
    port: 8080
    cors:
      enabled: true
  security:
    enabled: true
    token:
      jwt:
        enabled: true
        signatures:
          jwks:
            IdentityServer:
              url: 'https://falconidentityserver.azurewebsites.net/.well-known/openid-configuration/jwks'

现在,当我在 intellj 中运行应用程序时,应用程序正在使用文件applicaiton.yml. 它应该获取application-dev.ymland 值url: 'https://localhost:5001/.well-known/openid-configuration/jwks',但它正在从 中获取值application.yml。但是,它应该只从 dev 文件中选择该值,并且应该从中选择所有其他值application.yml

根据 micronaut 文档https://docs.micronaut.io/latest/guide/index.html#environments我需要设置micronaut.environments

当我在本地机器上运行应用程序时,它不应该选择application-dev.yml. 如何设置环境

4

2 回答 2

0

在 main 方法中设置默认环境

public class ApiGatewayApplication {

    public static void main(String[] args) {
        Micronaut.build((String[]) null).defaultEnvironments("dev").start();
    }
}

参考 - https://github.com/micronaut-projects/micronaut-core/issues/2417

于 2021-02-21T03:33:07.197 回答
0

我不确定从 IDE 运行时是否应该自动选择“dev”。但是,您可以通过在 IntelliJ 运行/调试配置中传递这两个 JVM 变量来覆盖环境:

-Dmicronaut.environments=dev
-Dmicronaut.env.deduction=false
于 2021-02-20T15:15:05.350 回答