我正在进行一个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必须像任何应用程序一样提交。你有。