Gradle throws在“gradle wrapper”命令中找不到方法add()

时间:2014-08-25 23:58:31

标签: gradle artifactory tooltwist

我正在尝试在我的项目中运行“gradle {task}”命令,但此错误仍在显示。

$ gradle {task}

FAILURE: Build failed with an exception.

* Where:
Build file '/Users/myAccount/Development/Tooltwist-8.3.1/myProjectName/build.gradle' line: 3

* What went wrong:
A problem occurred evaluating project ':myProjectName'.
Could not find method add() for arguments [artifactoryPublish, class org.jfrog.gradle.plugin.artifactory.extractor.BuildInfoTask] on task set.

我正在尝试运行什么任务(构建,jar等)并不重要。

任何输入都将受到赞赏。感谢。

1 个答案:

答案 0 :(得分:11)

这是由使用错误的Gradle版本引起的。可能您使用的是2.0+版本,但您的构建脚本适用于v2.0之前版本。

避免这种情况的最佳方法是使用Gradle包装器(如果项目中存在它)(在项目目录中查找名为 gradlew 的文件)。如果它不存在,请运行这些命令来创建它。

$ mkdir ,gw
$ cd ,gw
$ echo "task wrapper(type: Wrapper) { gradleVersion = '1.12' }" > build.gradle
$ gradle wrapper
$ ls -l
total 32
-rw-r--r--  1 philipcallender  wheel    55 26 Aug 09:56 build.gradle
drwxr-xr-x  3 philipcallender  wheel   102 26 Aug 09:55 gradle
-rwxr-xr-x  1 philipcallender  wheel  5080 26 Aug 09:55 gradlew
-rw-r--r--  1 philipcallender  wheel  2404 26 Aug 09:55 gradlew.bat
$ mv gradle* ..
$ cd ..
$ rm -rf ,gw

应该将这些新文件检入版本控制(例如Github)以供其他开发人员使用。现在,您可以使用gradlew命令代替gradle,使用Gradle构建,确保使用正确的版本。例如:

$ gradlew jar

根据您的$ PATH环境变量,您可能需要运行:

$ ./gradlew jar