You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Micronaut 3无法加载application-dev.yml环境专属配置如何解决

问题原因

  • 手动创建的上下文未激活dev环境:你通过Micronaut.build().defaultEnvironments("dev")设置的默认环境仅作用于该方法启动的应用上下文,后续调用ApplicationContext.run()创建的是独立的全新上下文,未指定激活环境的情况下不会加载application-dev.yml,因此只能读取到主配置文件的属性。
  • 配置键大小写不统一:主配置application.yml中jwks下的键为IdentityServer(首字母大写),环境配置application-dev.yml中对应键为identityServer(首字母小写),二者会被识别为不同的属性路径,即便加载了dev环境配置也无法触发同名属性覆盖。

解决方案

  1. 统一两个配置文件中jwks下的键名,完全保持一致,比如统一改为小写开头的identityServer,避免出现大小写差异导致的属性路径不匹配问题。
  2. 修正上下文的环境激活逻辑,二选一即可:
    • 如果需要手动创建ApplicationContext,调用时传入dev环境参数:ApplicationContext.run("dev")
    • 如果是在已启动的Micronaut应用中获取配置Bean,不要手动创建新的ApplicationContext,直接通过依赖注入注入OAuthProperties即可,或者使用应用启动时生成的上下文实例获取Bean。

内容的提问来源于stack exchange,提问作者San Jaisy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 21:48:04