当前位置: 首页 > 知识库问答 >
问题:

运行gradle任务时如何在命令行传递多个参数?

井学
2023-03-14

我有一个java和groovy类,由gradle Task运行。我已经设法使它工作,但我不喜欢在命令行中传递参数的方式。下面是我当前通过命令行执行的方法:gradle runtask-pmode“['do stuff'、'username'、'password']”
my build。gradle代码采用这些参数如下所示:

if (project.hasProperty("mode")) {
args Eval.me(mode)}
String action = args[0]; //"doStuff"
String name = args[1]; .. //"username"

我想知道有没有一种方法可以更好地传递参数,比如:

gradle runTask -Pmode=doStuff -Puser=username -Ppass=password 

以及如何在我的java类中使用它们。

共有1个答案

卫高谊
2023-03-14

JavaExec可能是一条可行之路。只需声明一个任务并将项目参数传递给java应用程序

task myExecTask(type: JavaExec) {
   classpath = sourceSets.main.runtimeClasspath
   main = 'com.project.MyApplicationMainClass' 
   args project.getProperty('userName') + ' ' + project.getProperty('password');
}

要运行它,只需编写gradle myexectask-pusername=john-ppassword=secret

 类似资料:
  • 我试图找到从命令行传递gradle任务参数的最佳方法。我有这个任务。我想从学生练习中解包解决方案,并将它们复制到项目中的正确位置,以突出它们。我这样称呼这个任务: 这是gradle任务: 你有什么建议来优化这个过程吗?

  • 我尝试将参数从命令行传递到gradle。 我的身材是: 当我这样做时: 我得到这个: 我的问题是我应该为main提供什么?任何java文件包的名称?有具体的路径吗?什么应该是真正的源集?

  • 我试图将一个参数从命令行传递到java类。我关注了这篇文章:http://gradle.1045684.n5.nabble.com/gradle-application-plugin-question-td5539555.html,但是代码对我来说不起作用(也许它不适合JavaExec?)。以下是我所尝试的: 上面硬编码的args值的输出是: 任何关于如何将命令行参数传递给gradle的指针都很感

  • 要启动Java程序,我可以传递如下参数: 在gradle命令行中有哪些好的方法可以做到这一点: 这是正在建造的。格雷德尔:

  • 我有一个结构如下的项目: Maven-as-submodule-只是一个分级项目;graph-gen是gradle项目中的Maven模块(不是子模块) 我的目标是从gradle任务运行command:。所以我写了一些: null 任务runMvnInterfaceGenerator(类型:Exec){dependsOn“copy graphstoGenerator”workingDir“./gra

  • 我需要向maven命令行传递多个参数来运行Spring Boot应用程序。这就是我在spring Boot中传递命令行参数的方式。我使用的是spring boot 2.2.6版本 参数似乎没有正确解析