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

rya*_*cii 2 artifactory gradle 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.
Run Code Online (Sandbox Code Playgroud)

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

任何输入将不胜感激.谢谢.

Phi*_*der 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
Run Code Online (Sandbox Code Playgroud)

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

$ gradlew jar
Run Code Online (Sandbox Code Playgroud)

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

$ ./gradlew jar
Run Code Online (Sandbox Code Playgroud)

  • 好的,如果您已经购买并且已经在使用gradlew,该如何解决? (2认同)