Micronaut PropertySource用于多个配置文件

问题描述 投票:1回答:1

我有一个微型项目,我希望有一个非版本化的私有数据配置文件(如数据库连接等)

这些信息必须通过@Property注释加载,但由于将有多个.yml(至少还有一个application.yml),我希望能够提供文件到@Properties的路径,以便能够区分在哪里寻找财产。 由于这是我的第一个微电子项目,我对这些东西有点迷失,但以springboot为例,我想做的是:

@PropertySource("classpath:configprops.properties")

但在阅读微博文档(https://docs.micronaut.io/latest/guide/index.html#configurationProperties)之后,我发现自己无法做到这一点(除了读取普通文件之类的东西,我猜这不会是微博的)

java configuration micronaut
1个回答
0
投票

我通过传递jvm参数来做到这一点。

例如,如果我使用gradle:run在我的本地计算机上运行它,我将以下内容添加到build.grade

run.jvmArgs('-Dmicronaut.environments=dev', "-Dmicronaut.config.files=${System.getProperty("user.home")}/auth-config.groovy")

对于我的jar部署,我已经制作了一个deploy.sh文件,如下所示:

#!/bin/bash

fuser -k 8181/tcp

nohup java -Xmx512m -Dmicronaut.environments=staging -Dmicronaut.config.files=<path-to-config>/config.groovy -jar application-0.1-all.jar > application.log 2>&1 &

另请注意,我传递了不同的环境名称,这有助于您根据需要直接在代码中包含开发环境配置。

喜欢

  • 应用程序 - [environment_name] .groovy作为
  • 应用程序 - [environment_name] .yml
  • 应用程序 - [environment_name]的.properties

这将有助于您的项目中的新贡献者加速流程项目设置,我通常还在我的application-dev.groovy文件中包含注释

DEVELOPER NOTE:
***** DO NOT COMMIT ANY CHANGE IN THIS FILE IF YOU MAKE ANY
*******************************************************
***** CREATE <config.groovy> file in your <HOME> folder and copy paste content of this file
***** Override properties as required
*******************************************************
© www.soinside.com 2019 - 2024. All rights reserved.