如何在Intellij中使用带--args的Gradle bootRun
Gradle 4.9将如何在Intellij中使用带--args的Gradle bootRun,gradle,intellij-idea,Gradle,Intellij Idea,Gradle 4.9将--args参数引入到bootRun,我可以从命令行轻松使用该参数,但如何从Intellij 2018中的运行/调试配置使用该参数 在Intellij中,我将Gradle build设置为在我的项目上运行bootRun任务,我在运行/调试配置屏幕中尝试了以下参数,但没有成功: --args'foo' --args='foo' --args=foo Intellij的输出: 9:18:56 AM: Executing task 'bootRun --args='foo''
--args
参数引入到bootRun
,我可以从命令行轻松使用该参数,但如何从Intellij 2018中的运行/调试配置使用该参数
在Intellij中,我将Gradle build设置为在我的项目上运行bootRun
任务,我在运行/调试配置屏幕中尝试了以下参数,但没有成功:
--args'foo'
--args='foo'
--args=foo
9:18:56 AM: Executing task 'bootRun --args='foo''...
Unknown command-line option '--args'.
9:18:57 AM: Task execution finished 'bootRun --args='foo''.
.也许您可以在IDEA的
运行/调试配置
中将args添加到任务
中,作为bootRun--args='foo'
我的任务是
run--args='-h'
,它对我有效作为一种解决方法,您可以使用gradle属性
在intellij参数字段中添加-Pargs=--myArg=value
然后在build.gradle中添加
bootRun {
if (project.hasProperty('args')) {
args project.args.split(',')
}
}
现在,可以在应用程序内部使用应用程序参数来访问它们。不幸的是,@Linsama的解决方法无法处理多个参数。例如,run--args='--arg1--arg2'
将不起作用
对于多个参数,您必须在arguments字段中移动整个参数,并将Tasks字段留空
这将有助于:
任务:
参数:run--args='--arg1--arg2'
目前这是不可能的。请关注YouTrack上的相关问题:您找到解决方法了吗?没有,我只是选择通过运行Spring Boot应用程序类而不是通过Gradle进行调试。这很有趣,但它确实有效(目前使用IDEA 2019.x)。我没想到会这样,但确实如此。我不知道你是怎么被否决的。:-)