如何解决Micronaut 中基于环境的文件提取
尝试根据环境使用不同的配置文件。例如
在开发环境中,我有以下文件
application-dev.yml
micronaut:
security:
enabled: true
token:
jwt:
enabled: true
signatures:
jwks:
IdentityServer:
url: 'https://localhost:5001/.well-known/openid-configuration/jwks'
对于另一个环境,我有以下配置
application.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.yml
和值 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
。如何设置环境
解决方法
我不确定从 IDE 运行时是否应该自动选择“dev”。但是,您可以通过在 IntelliJ 运行/调试配置中传递这两个 JVM 变量来覆盖环境:
<div class="crm-communications-preferences-form-block crm-public">
<div class="comm-pref-block groups-block">
<fieldset id="crm-communications-preferences-channels">
<div class="crm-section">
<div class="label"><label for="enable_email"> Email Newsletter
<span class="crm-marker" title="This field is required.">*</span>
</label></div>
<div class="content"><select name="enable_email" id="enable_email" class="crm-form-select required">
<option value="">--Select--</option>
<option value="YES" selected="selected">Yes</option>
<option value="NO">No</option>
</select></div>
</div>
</fieldset>
</div>
</div>
<!-- Groups from settings -->
<div class="comm-pref-block groups-block">
<!-- Groups Fieldset -->
<fieldset id="crm-communications-preferences-groups" class="groups-fieldset">
<div class="crm-section">
<div class="content group-channel-div">
<input id="group_101" name="group_101" type="checkbox" value="1" checked="checked" class="crm-form-checkbox">
<label for="group_101">Newsletter</label>
<span class="group-description">Monthly Newsletter</span>
</div>
</div>
<div class="crm-section">
<div class="content group-channel-div">
<input id="group_102" name="group_102" type="checkbox" value="1" checked="checked" class="crm-form-checkbox">
<label for="group_102">Communications</label>
<span class="group-description">Relating Activities</span>
</div>
</div>
</fieldset>
</div>
</div>
,
在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
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。