无法找到参数Gradle的方法compile() [英] Could not find method compile() for arguments Gradle

查看:329
本文介绍了无法找到参数Gradle的方法compile()的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

四处寻找这个解决方案的时间太长了,我不确定是否错过了它,或者只是误输了一些东西,但是我的Gradle脚本不能编译。我正在迁移到Gradle,并且对它很新。我非常习惯使用Maven进行依赖管理,但Gradle现在看起来最好。从运行这段代码开始:

 依赖关系{
编译组:'org.bukkit',名称:'bukkit ',版本:'1.7.9-R0.1-SNAPSHOT'
编译('io.ibj:MattLib:1.1-SNAPSHOT'){
排除组:'de.bananaco'
排除'net.milkbowl:vault:1.2.27'
}
编译组:'net.citizensnpcs',名称:'citizens',版本:'2.0.12'
编译组: 'com.sk89q',名称:'worldedit',版本:'5.6.1'
编译组:'com.sk89q',名称:'worldguard',版本:'5.9'
编译组: 'net.milkbowl',名称:'vault',版本:'1.2.12'
编译fileTree(dir:'libs',包含:['* .jar'])
}

注意:我确实应用了java,maven,nexus,shadow和rebel插件。 b
$ b

当我运行我的Gradle任务时,遇到以下错误:

 找不到方法编译()的参数[[io.ibj:马特在项目的'项目'



中,如果我从我的项目中删除MattLib依赖项并重新插入它作为

$ p $编译'io.ibj:MattLib: b $ b

脚本完成了,但我有依赖性问题。我在这里读到:

 依赖关系{
compile(org.gradle.test.excludes:api:1.0 ){
排除模块:'共享'
}
}

(从第50章Gradle手册中, http://www.gradle.org/docs/current/ userguide / dependency_management.html



这是我应该的工作,但我很困惑它为什么不。



gradle --version输出:

  Groovy:1.8.6 
Ant:Apache Ant (TM)版本1.9.3 2013年12月23日编译
Ivy:2.2.0
JVM:1.8.0_05(Oracle Corporation 25.5-b02)
操作系统:Windows 7 6.1 amd64

有什么想法?

解决方案

它应该是 exclude module:'net.milkbowl:vault:1.2.27'(add module:),如文件中所述on DependencyHandler http://www.gradle.org/docs/current/javadoc/org/gradle/api/Project.html#dependencies(groovy.lang.Closure) a>因为使用了ModuleDependency.exclude(java.util.Map)方法。


Looked around for this solution for much too long now, and I'm not sure if I missed it or just misstyped something, but my Gradle script will not compile. I am migrating to Gradle, and am very new with it. I am very used to using Maven for dependency management, but Gradle seems best me for now. From running this snippet of code:

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'])
}

NOTE: I do have the java, maven, nexus, shadow, and rebel plugins applied.

When I run my Gradle task, I encounter this error:

Could not find method compile() for arguments [[io.ibj:MattLib:1.1-SNAPSHOT], build_1b5iofu9r9krp7o8mme0dqo9l$_run_closure2_closure8@66fb45e5] on root project 'project'

If I remove the "MattLib" dependency from my project and reinsert it as

compile 'io.ibj:MattLib:1.1-SNAPSHOT'

The script completes, but I have dependency issues. I read up here:

dependencies {
  compile("org.gradle.test.excludes:api:1.0") {
    exclude module: 'shared'
  }
}

(From Chapter 50 From the Gradle Manual, http://www.gradle.org/docs/current/userguide/dependency_management.html )

that what I have SHOULD work, but I am confused why it doesn't.

gradle --version output:

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

Any thoughts?

解决方案

It should be exclude module: 'net.milkbowl:vault:1.2.27'(add module:) as explained in documentation for DependencyHandler linked from http://www.gradle.org/docs/current/javadoc/org/gradle/api/Project.html#dependencies(groovy.lang.Closure) because ModuleDependency.exclude(java.util.Map) method is used.

这篇关于无法找到参数Gradle的方法compile()的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆