如何在Intellij中将Gradle bootRun与--args一起使用

时间:2018-09-11 01:26:48

标签: gradle intellij-idea

Gradle 4.9在--args中引入了bootRun参数,我可以从命令行轻松地使用它,但是如何在Intellij 2018的Run / Debug配置中使用它呢?

在Gradle版本中设置为在Intellij中的项目上运行bootRun任务后,我在“运行/调试配置”屏幕中尝试了以下参数,但没有成功:

  • --args 'foo'
  • --args='foo'
  • --args=foo

Intellij的输出:

9:18:56 AM: Executing task 'bootRun --args='foo''...

Unknown command-line option '--args'.
9:18:57 AM: Task execution finished 'bootRun --args='foo''.

A similar question documents the older syntax for doing this

3 个答案:

答案 0 :(得分:2)

不幸的是,@ Linsama的解决方法不能与多个参数一起使用。例如,run --args='--arg1 --arg2'将不起作用。

对于多个参数,您必须在“参数”字段中移动整个内容,并将“任务”字段留空。

这将起作用:

任务:

参数:run --args='--arg1 --arg2'

答案 1 :(得分:0)

也许您可以在IDEA的Toolkit.getDefaultToolkit() .getSystemClipboard() .getData(DataFlavor.stringFlavor); // extracting the text that was copied to the clipboard 中以Tasks的形式将args添加到bootRun --args='foo'

我的任务是Run/Debug Configurations,它对我有用

答案 2 :(得分:0)

作为解决方法,您可以使用gradle属性。

在“ Intellij Arguments”字段中,添加-Pargs=--myArg=value

然后在您的build.gradle中添加

bootRun {
    if (project.hasProperty('args')) {
        args project.args.split(',')
    }
}

现在应该可以在应用程序中使用ApplicationArguments访问它们。