1. ホーム
  2. java

[解決済み】引数のcompile()メソッドが見つからない Gradle

2022-02-15 10:51:53

質問

この解決策をずっと探していたのですが、見逃してしまったのか、それとも単に何かミスタイプしてしまったのか、私の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'])
}

NOTE 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'
  }
}

(第50章より Gradleマニュアル )

私が持っているものは動作するはずなのですが、なぜ動作しないのか混乱しています。

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

解決方法は?

それは exclude module: 'net.milkbowl:vault:1.2.27' (追加 module: のドキュメントで説明されているように DependencyHandler ここからリンクされています というのも ModuleDependency.exclude(java.util.Map) メソッドが使用されます。