web-dev-qa-db-ja.com

引数Gradleのメソッドcompile()が見つかりませんでした

今、このソリューションを探しすぎて、見逃したのか、タイプミスしたのかはわかりませんが、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'
  }
}

(Gradleマニュアルの第50章から 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

何かご意見は?

81
Ichbinjoe
6
Radim

正しいbuild.gradleファイルを編集していることを確認してください。 Android/build.gradleではなくAndroid/app/build.gradleを編集するときにこのエラーを受け取りました。

152
RussellStewart

compileは、通常はプラグイン(ほとんどの場合Javaプラグイン)によって導入されるconfigurationです。構成の詳細については、gradleユーザーガイドをご覧ください。とりあえず、ビルドスクリプトの上にJavaプラグインを追加すると、次のトリックが実行されるはずです。

apply plugin:'Java'
86
Rene Groeschke

私の場合、すべてのcompileステートメントは何らかの形で1行に配置されています。それらを個々の行に分けることで問題が修正されました。

8
Rohit Mandiwal

以下の手順が役立つことを願っています

project-level build.gradleに依存関係を追加します。

classpath 'com.google.gms:google-services:3.0.0'

プラグインをapp-level build.gradleに追加します。

apply plugin: 'com.google.gms.google-services'

アプリレベル build.gradle:

dependencies {
        compile 'com.google.Android.gms:play-services-auth:9.8.0'
}
6
Priyanshu Singh

間違ったgradleファイル。正しいものは、「app」フォルダー内のbuild.gradleです。

0
letanthang

私の場合、物事を機能させるために、研究のある時点でgradleによって作成されたいくつかのファイルを削除する必要がありました。だから、めちゃくちゃにした後のクリーンアップとそれはうまくいきました...

Gitプロジェクトでこの問題が発生した場合は、git statusを実行し、改訂されていないファイルを削除してください。 (私にとってはelasticsearchにはplugins/analysis-icuに問題がありました)。

Gradle Version:5.1.1

0
dr0i