私は最初の Gradle プラグインの機能を反復してきました。私は早い段階で commons-io が必要だと判断したので、最新バージョンである commons-io 2.4 への依存関係を追加しました。
コマンド ラインからビルドが機能し、Eclipse でエラーが発生することはなく、これはしばらくの間順調に進んでいます。
「FileUtils.write(File,String)」を使用するコードを統合しようとし始めました。以前はその方法は必要ありませんでした。Eclipse ですべての赤字を取り除いてから、コマンド ライン ビルドを試しました。
これは、次のようなエラーで失敗しました。
... error: cannot find symbol
FileUtils.write(serviceLoaderFile,
^
symbol: method write(File,String)
location: class FileUtils
これは私を混乱させました。Eclipse で失敗した行に行きましたが、問題は示されませんでした。「write()」メソッドに移動しましたが、問題ないように見えました。次に、「--debug」を指定してコマンドライン ビルドを実行し、手がかりを得ました。
「javac」行を見つけたとき、「$GRADLE_HOME\lib\commons-io-1.4.jar」(「GRADLE_HOME」はちょうど私の Gradle 2.3 ディストリビューションです) が依存関係の jar の前にクラスパスにあることがわかりました。次に、1.4 jar のコードを調べたところ、そのバージョンの「FileUtils」クラスには「書き込み」メソッドがないことがわかりました。
これについて私は何をすべきですか?
更新:
私の「依存関係」ブロックが役立つ可能性が高いと思います。これは次のとおりです。
dependencies {
compile ("org.codehaus.groovy:groovy-all:2.3.9")
compile gradleApi()
compile "org.opendaylight.yangtools:yang-parser-impl:0.7.0-SNAPSHOT"
compile "org.opendaylight.yangtools:binding-java-api-generator:0.7.0-SNAPSHOT"
compile "org.opendaylight.yangtools:binding-generator-api:0.7.0-SNAPSHOT"
compile "org.opendaylight.yangtools:binding-generator-impl:0.7.0-SNAPSHOT"
compile "org.opendaylight.controller:yang-jmx-generator:0.3.0-SNAPSHOT"
compile "commons-io:commons-io:2.4"
testCompile("org.spockframework:spock-core:1.0-groovy-2.3") {
exclude group: "org.codehaus.groovy"
}
「gradleApi」参照をコメントアウトしようとしましたが、効果はありませんでした。また、「groovy-all」参照に関連付けられた commons-io の「除外」を追加しようとしましたが、それでも違いはないようです。}