我想从Gradle命令行使用“本地”环境变量运行Micronaut服务器。 常规命令
.\gradlew.bat run
将使用application.yml文件中定义的默认变量。 我想用本地环境的值覆盖其中的某些值,因此需要指定系统属性 micronaut.environments = local 来使用 application-local.yml 文件中的覆盖值
.\gradlew.bat run -Dmicronaut.environments=local
上面的命令将不起作用,因为Gradle将仅使用 -Dmicronaut 作为系统属性,其余的“ .environments = local”将被视为另一个任务名称:
Task '.environments=local' not found in root project 'abc'
将此类系统属性传递给Java进程的正确方法是什么?
答案 0 :(得分:1)
以下命令适用于 unix ,也许它也适用于 windows :
MICRONAUT_ENVIRONMENTS=local gradle run
或使用渐变包装器
MICRONAUT_ENVIRONMENTS=local .\gradlew.bat run
P.S。此外,您可以为Spring Boot
找到相同的方法答案 1 :(得分:0)
我的方法是添加gradle任务。
task runLocal(type: JavaExec) {
classpath = sourceSets.main.runtimeClasspath
main = "dontdrive.Application"
jvmArgs '-Dmicronaut.environments=local'
}
然后开始:
./gradlew runLocal