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

如何从命令行向gradle传递参数

景温书
2023-03-14

我尝试将参数从命令行传递到gradle。

我的身材是:

task execute(type:JavaExec) {
   main = mainClass
   classpath = sourceSets.main.output
}

当我这样做时:

gradle -PmainClass=Hello execute

我得到这个:

FAILURE: Build failed with an exception.

* Where:
Build file '/home/example2/build.gradle' line: 7

* What went wrong:
A problem occurred evaluating root project 'example2'.
> Could not find property 'sourceSets' on task ':execute'.

我的问题是我应该为main提供什么?任何java文件包的名称?有具体的路径吗?什么应该是真正的源集?

共有1个答案

穆高澹
2023-03-14

您的最小build.gradle文件应该如下所示:

apply plugin: 'java'

task execute(type:JavaExec) {
   main = mainClass
   classpath = sourceSets.main.output
}

你需要一个位于 src/main/java/Hello 中的 java 类.java如下所示:

public class Hello {

    public static void main(String[] a) {}

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

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

  • 我正在使用gradle运行JUnit测试。问题是我需要将参数从命令行传递给测试。我试图传递系统属性,但失败了。 以下是我的测试: 它失败是因为没有参数。是否可以以某种方式传递命令行参数?

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

  • 考虑下面的用例。 设计用于创建用户帐户的测试用例。 现在我想用不同的参数运行这个测试用例,例如名称、年龄等,我想通过命令行控制这些参数。

  • 我有一个java和groovy类,由gradle Task运行。我已经设法使它工作,但我不喜欢在命令行中传递参数的方式。下面是我当前通过命令行执行的方法: my build。gradle代码采用这些参数如下所示: 我想知道有没有一种方法可以更好地传递参数,比如: 以及如何在我的java类中使用它们。