Micronaut + Maven -环境变量



我正在进行一个Micronaut + Maven项目。我需要对应用程序的一些值进行参数化。如密码和连接字符串,以避免提交它们。

我知道值可以这样参数化:

secret-value: '${SECRET_VALUE}'

但是我找不到任何其他方法来设置SECRET_VALUE,除了在。bashrc或。profile或。environment脚本文件中设置bash值。

我想以某种方式使用。env文件,以便提交。env。

任何想法吗?

根据maven-resource-plugin文档:https://maven.apache.org/plugins/maven-resources-plugin/examples/filter.html

您可以在您的pom文件的filters标签中添加一个过滤器文件。

参见上面文档中的we can separate "your.name" from the POM by specifying a filter file my-filter-values.properties containing:

我可能没有抓住问题的重点。解决方案是简单地创建一个带有所需值的.env文件,然后使用类似

的内容运行应用程序。dotenv run ./mvnw mn:run.

关于@yunandtidus解决方案:这只适用于"固定"。变量,如应用程序名称,作为pom值在环境之间共享(假设我们有一个应用程序-dev。Yml和一个application-prod.yml)。请记住,与.env不同,pom.xml必须像任何应用程序一样提交。你有。

最新更新