你如何从具有本地属性的 gradle 运行 micronaut

Azi*_*ris 7 gradle micronaut

我想从带有“本地”环境变量的 Gradle 命令行运行 Micronaut 服务器。常规命令

.\gradlew.bat run
Run Code Online (Sandbox Code Playgroud)

将使用 application.yml 文件中定义的默认变量。我想用我的本地环境的值覆盖其中一些,因此需要指定系统属性micronaut.environments=local以使用来自application-local.yml文件的覆盖值。

.\gradlew.bat run -Dmicronaut.environments=local
Run Code Online (Sandbox Code Playgroud)

上面的命令将不起作用,因为 Gradle 将仅使用-Dmicronaut作为系统属性,其余的“.environments=local”将被视为另一个任务名称:

Task '.environments=local' not found in root project 'abc'
Run Code Online (Sandbox Code Playgroud)

将此类系统属性传递给 java 进程的正确方法是什么?

tsa*_*txt 7

下面的命令适用于unix,可能也适用于windows

MICRONAUT_ENVIRONMENTS=local gradle run
Run Code Online (Sandbox Code Playgroud)

或使用gradle 包装器

MICRONAUT_ENVIRONMENTS=local .\gradlew.bat run
Run Code Online (Sandbox Code Playgroud)

PS 另外,您可以为Spring Boot找到相同的方法