Rozglądałem się teraz za tym rozwiązaniem o wiele za długo i nie jestem pewien, czy go przegapiłem, czy po prostu coś źle zrozumiałem, ale mój skrypt Gradle nie skompiluje się. Migruję do Gradle i jestem z nim bardzo nowy. Jestem bardzo przyzwyczajony do używania Mavena do zarządzania zależnościami, ale Gradle wydaje mi się na razie najlepszy. Od uruchomienia tego fragmentu kodu:
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'])
}
UWAGA: Mam zastosowane wtyczki java, maven, nexus, shadow i rebel.
Kiedy uruchamiam zadanie Gradle, napotykam ten błąd:
Could not find method compile() for arguments [[io.ibj:MattLib:1.1-SNAPSHOT], build_1b5iofu9r9krp7o8mme0dqo9l$_run_closure2_closure8@66fb45e5] on root project 'project'
Jeśli usunę zależność „MattLib” z projektu i wstawię ją ponownie jako
compile 'io.ibj:MattLib:1.1-SNAPSHOT'
Skrypt się kończy, ale mam problemy z zależnościami. Czytałem tutaj:
dependencies {
compile("org.gradle.test.excludes:api:1.0") {
exclude module: 'shared'
}
}
(Z rozdziału 50 z podręcznika Gradle, http://www.gradle.org/docs/current/userguide/dependency_management.html )
że to co mam POWINNO działać, ale jestem zdezorientowany, dlaczego tak nie jest.
gradle - wersja wyjściowa:
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
jakieś pomysły?
Odpowiedzi:
Powinien być
exclude module: 'net.milkbowl:vault:1.2.27'
(dodaćmodule:
) tak, jak wyjaśniono w dokumentacjiDependencyHandler
linków z http://www.gradle.org/docs/current/javadoc/org/gradle/api/Project.html#dependencies(groovy.lang.Closure), ponieważModuleDependency.exclude(java.util.Map)
metoda jest używany.źródło
Upewnij się, że edytujesz poprawny
build.gradle
plik. Otrzymałem ten błąd podczas edycjiandroid/build.gradle
zamiastandroid/app/build.gradle
.źródło
compile
jestconfiguration
zwykle wprowadzany przez wtyczkę (najprawdopodobniej wtyczkę java). Zapoznaj się z instrukcją obsługi gradle, aby uzyskać szczegółowe informacje na temat konfiguracji. Na razie dodanie wtyczki java na szczycie skryptu kompilacji powinno załatwić sprawę:apply plugin:'java'
źródło
apply plugin: "kotlin"
W moim przypadku wszystkie
compile
wypowiedzi zostały w jakiś sposób ułożone w jednym wierszu. oddzielenie ich w osobnych wierszach rozwiązało problem.źródło
Mam nadzieję, że poniższe kroki pomogą
Dodaj zależność do build.gradle na poziomie projektu :
classpath 'com.google.gms:google-services:3.0.0'
Dodaj wtyczkę do build.gradle na poziomie aplikacji :
apply plugin: 'com.google.gms.google-services'
build.gradle na poziomie aplikacji :
dependencies { compile 'com.google.android.gms:play-services-auth:9.8.0' }
źródło
Nieprawidłowy plik ocen. Właściwy to build.gradle w folderze „app”.
źródło
W moim przypadku musiałem usunąć niektóre pliki, które zostały utworzone przez Gradle w pewnym momencie mojej pracy, aby wszystko działało. Więc sprzątanie po zepsuciu, a potem wszystko poszło dobrze ...
Jeśli napotkałeś ten problem w projekcie git, zrób
git status
i usuń niepoprawione pliki. (U mnieelasticsearch
miał problem zplugins/analysis-icu
).Gradle Version
: 5.1.1źródło
Dla przypomnienia: przypadkowo włączyłem pracę w trybie offline w obszarze Preferencje -> Kompilacja, wykonanie, wdrożenie -> Gradle -> odznacz opcję Praca w trybie offline , ale komunikat o błędzie był mylący
źródło