【发布时间】:2021-09-24 04:19:01
【问题描述】:
我正在尝试使用 Micronaut 3 加载特定于环境的属性。我有两个文件 application.yml 和 application-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 变量中,我可以看到 application.yml 文件中的值,而不是 application-dev.yml 文件中的值。
据我所知,默认情况下,Micronaut 只查找 application.yml。然后,对于测试、dev 和 prod,它加载 application.yml 并用 application-test.yml、application-dev.yml 和 application-prod.yml 中定义的值覆盖那里的任何值。但是,这对我不起作用.
我也设置了默认环境
Micronaut.build(args)
.mainClass(ApiGateway.class)
.defaultEnvironments("dev")
.start();
【问题讨论】: