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