Не удалось найти метод compile() для аргументов Gradle
Посмотрите на это решение слишком долго, и я не уверен, что я пропустил его или просто что-то не понял, но мой Gradle script не будет компилироваться. Я перехожу к Gradle, и я очень новичок в этом. Я очень привык использовать Maven для управления зависимостями, но Gradle кажется мне лучше всего на данный момент. От запуска этого фрагмента кода:
dependencies {
compile group: 'org.bukkit', name: 'bukkit', version: '1.7.9-R0.1-SNAPSHOT'
compile('io.ibj:MattLib:1.1-SNAPSHOT') {
exclude group: 'de.bananaco'
exclude 'net.milkbowl:vault:1.2.27'
}
compile group: 'net.citizensnpcs', name: 'citizens', version: '2.0.12'
compile group: 'com.sk89q', name: 'worldedit', version: '5.6.1'
compile group: 'com.sk89q', name: 'worldguard', version: '5.9'
compile group: 'net.milkbowl', name: 'vault', version: '1.2.12'
compile fileTree(dir: 'libs', includes: ['*.jar'])
}
ПРИМЕЧАНИЕ. У меня есть приложения java, maven, nexus, shadow и rebel.
Когда я запускаю свою задачу Gradle, я сталкиваюсь с этой ошибкой:
Could not find method compile() for arguments [[io.ibj:MattLib:1.1-SNAPSHOT], [email protected]] on root project 'project'
Если я удалю зависимость "MattLib" от моего проекта и вставьте его как
compile 'io.ibj:MattLib:1.1-SNAPSHOT'
script завершается, но у меня проблемы с зависимостями. Я прочитал здесь:
dependencies {
compile("org.gradle.test.excludes:api:1.0") {
exclude module: 'shared'
}
}
(Из главы 50 В руководстве Gradle http://www.gradle.org/docs/current/userguide/dependency_management.html)
что я ДОЛЖЕН работать, но я смущен, почему это не так.
gradle - выход преобразования:
Groovy: 1.8.6
Ant: Apache Ant(TM) version 1.9.3 compiled on December 23 2013
Ivy: 2.2.0
JVM: 1.8.0_05 (Oracle Corporation 25.5-b02)
OS: Windows 7 6.1 amd64
Любые мысли?
Ответы
Ответ 1
Он должен быть exclude module: 'net.milkbowl:vault:1.2.27'
(добавить module:
), как описано в документации для DependencyHandler
, связанной из http://www.gradle.org/docs/current/javadoc/org/gradle/api/Project.html#dependencies(groovy.lang.Closure), потому что ModuleDependency.exclude(java.util.Map)
.
Ответ 2
Убедитесь, что вы редактируете правильный файл build.gradle
. Я получил эту ошибку при редактировании android/build.gradle
, а не android/app/build.gradle
.
Ответ 3
compile
- это configuration
, который обычно вводится плагином (скорее всего, это java-плагин). Подробнее об конфигурациях смотрите в gradle userguide. Теперь добавление java-плагина поверх вашей сборки script должно сделать трюк:
apply plugin:'java'
Ответ 4
В моем случае все операторы compile
каким-то образом расположены в одной строке. разделение их в отдельных строках устраняет проблему.
Ответ 5
Надежда Ниже шаги помогут
Добавьте зависимость от уровня проекта build.gradle:
classpath 'com.google.gms:google-services:3.0.0'
Добавьте плагин на уровень приложения build.gradle:
apply plugin: 'com.google.gms.google-services'
уровень приложения build.gradle:
dependencies {
compile 'com.google.android.gms:play-services-auth:9.8.0'
}
Ответ 6
Неправильный файл Gradle. Правильный - build.gradle в папке "app".
Ответ 7
В моем случае мне пришлось удалить некоторые файлы, которые были созданы gradle в какой-то момент в моем исследовании, чтобы все заработало. Итак, уборка после того, как все испортилось, а потом все прошло нормально...
Если вы столкнулись с этой проблемой в git-проекте, выполните команду git status
и удалите ненужные файлы. (По мне, у elasticsearch
была проблема с plugins/analysis-icu
).