现在我到处寻找这个解决方案已经太久了,我不确定是我错过了它,还是只是输入错误了,但我的Gradle脚本无法编译。我正在迁移到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], build_1b5iofu9r9krp7o8mme0dqo9l$_run_closure2_closure8@66fb45e5] on root project 'project'
如果我从项目中删除MattLib
依赖项并将其重新插入为
compile 'io.ibj:MattLib:1.1-SNAPSHOT'
脚本完成了,但我遇到了依赖问题。我在这里读到:
dependencies {
compile("org.gradle.test.excludes:api:1.0") {
exclude module: 'shared'
}
}
(摘自the Gradle Manual的第50章)
我所拥有的应该可以工作,但我不明白为什么它不能。
gradle --version
输出:
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
发布于 2014-05-22 14:02:53
它应该是exclude module: 'net.milkbowl:vault:1.2.27'
(添加module:
),如DependencyHandler
linked from here文档中所述,因为使用了ModuleDependency.exclude(java.util.Map)
方法。
发布于 2021-04-02 04:12:32
请注意,Java plugin引入的compile
、runtime
、testCompile
和testRuntime
配置在Gradle 4.10 (Aug 27, 2018)之后就被弃用了,并最终在Gradle 7.0 (Apr 9, 2021)中被删除。
上述配置应分别替换为implementation
、runtimeOnly
、testImplementation
和testRuntimeOnly
。
发布于 2015-10-28 14:25:43
确保您正在编辑正确的build.gradle
文件。我在编辑android/build.gradle
而不是android/app/build.gradle
时收到此错误。
https://stackoverflow.com/questions/23796404
复制相似问题