如何使用本地属性从Gradle运行Micronaut

时间:2019-07-02 10:01:40

标签: gradle micronaut

我想从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进程的正确方法是什么?

2 个答案:

答案 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