Ich habe mich viel zu lange nach dieser Lösung umgesehen und bin mir nicht sicher, ob ich sie verpasst oder nur etwas falsch eingegeben habe, aber mein Gradle-Skript wird nicht kompiliert. Ich migriere nach Gradle und bin sehr neu darin. Ich bin es sehr gewohnt, Maven für das Abhängigkeitsmanagement zu verwenden, aber Gradle scheint mir im Moment am besten zu sein. Aus dem Ausführen dieses Codeausschnitts:
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'])
}
HINWEIS: Ich habe die Plugins Java, Maven, Nexus, Shadow und Rebel angewendet.
Wenn ich meine Gradle-Aufgabe ausführe, tritt folgender Fehler auf:
Could not find method compile() for arguments [[io.ibj:MattLib:1.1-SNAPSHOT], build_1b5iofu9r9krp7o8mme0dqo9l$_run_closure2_closure8@66fb45e5] on root project 'project'
Wenn ich die "MattLib" -Abhängigkeit aus meinem Projekt entferne und sie wieder einfüge als
compile 'io.ibj:MattLib:1.1-SNAPSHOT'
Das Skript ist abgeschlossen, aber ich habe Abhängigkeitsprobleme. Ich habe hier nachgelesen:
dependencies {
compile("org.gradle.test.excludes:api:1.0") {
exclude module: 'shared'
}
}
(Aus Kapitel 50 Aus dem Gradle-Handbuch, http://www.gradle.org/docs/current/userguide/dependency_management.html )
Das, was ich habe, sollte funktionieren, aber ich bin verwirrt, warum es nicht funktioniert.
gradle --version ausgabe:
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
Irgendwelche Gedanken?
Antworten:
Es sollte wie in der Dokumentation für ( von http://www.gradle.org/docs/current/javadoc/org/gradle/api/Project.html#dependencies(groovy.lang.Closure) verlinkt
exclude module: 'net.milkbowl:vault:1.2.27'
(hinzugefügtmodule:
) werden, da die Methode ist gebraucht.DependencyHandler
ModuleDependency.exclude(java.util.Map)
quelle
Stellen Sie sicher, dass Sie die richtige
build.gradle
Datei bearbeiten . Ich habe diesen Fehler beim Bearbeiten erhaltenandroid/build.gradle
und nichtandroid/app/build.gradle
.quelle
compile
ist einconfiguration
Plugin, das normalerweise von einem Plugin (höchstwahrscheinlich dem Java-Plugin) eingeführt wird. Weitere Informationen zu Konfigurationen finden Sie im Gradle-Benutzerhandbuch. Im Moment sollte das Hinzufügen des Java-Plugins über Ihrem Build-Skript den Trick machen:quelle
apply plugin: "kotlin"
In meinem Fall sind alle
compile
Aussagen irgendwie in einer einzigen Zeile angeordnet. Das Trennen in einzelne Zeilen hat das Problem behoben.quelle
Hoffnung Die folgenden Schritte helfen
Fügen Sie die Abhängigkeit zu Ihrem build.gradle auf Projektebene hinzu:
Fügen Sie das Plugin zu build.gradle auf App-Ebene hinzu:
build.gradle auf App-Ebene :
quelle
Falsche Gradle-Datei. Das richtige ist build.gradle in Ihrem 'App'-Ordner.
quelle
In meinem Fall musste ich einige Dateien entfernen, die irgendwann in meiner Studie von gradle erstellt wurden, damit die Dinge funktionieren. Also, aufräumen nach dem Durcheinander und dann lief es gut ...
Wenn dieses Problem in einem Git-Projekt
git status
aufgetreten ist , entfernen Sie die nicht überarbeiteten Dateien. (Für michelasticsearch
hatte ein Problem mitplugins/analysis-icu
).Gradle Version
: 5.1.1quelle
Nur zur Veranschaulichung : Ich habe versehentlich die Offline-Arbeit unter Einstellungen -> Erstellen, Ausführen, Bereitstellen -> Gradle -> Offline-Arbeit deaktivieren aktiviert , aber die Fehlermeldung war irreführend
quelle