通过 gradle 任务为 grails 运行-app 传递命令行参数

Passing command Line Arguments for grails run-app through gradle task

我有一个 grails 3 应用程序,当我 运行 通过 gradle bootRun 任务时,我试图将命令行参数传递给我的应用程序。

我想读取配置文件中的参数以进行 运行time 操作。根据 yml 配置的 grails 文档 here 我尝试将以下内容添加到我的 build.gradle 文件

run {
    systemProperties = System.properties
}

当我添加该配置和 运行 我的任务时,出现以下错误:

3:11:20 PM: Executing external task 'bootRun -Dcolor=red -Dfruit=apple'...

FAILURE: Build failed with an exception.

* Where:
Build file 'C:\docs\projects\jet\build.gradle' line: 85

* What went wrong:
A problem occurred evaluating root project 'jet'.
> Could not find method run() for arguments [build_6lnm3xriwcnri1zrvfit1niuu$_run_closure8@4446881a] on root project 'jet'.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

BUILD FAILED

Total time: 8.892 secs
Could not find method run() for arguments [build_6lnm3xriwcnri1zrvfit1niuu$_run_closure8@4446881a] on root project 'jet'.
3:11:32 PM: External task execution finished 'bootRun -Dcolor=red -Dfruit=apple'.

请让我知道这里是否有任何遗漏,或者是否有更好的方法。

所以我找出了问题所在。

Grails 3.0 使用 bootRun 作为目标而不是 run。更改添加以下代码解决了这个问题。

bootRun {
    systemProperties = System.properties
}

希望对大家有所帮助。