現在のjar
in build.gradle
は以下のようになります:
jar {
manifest {
attributes "Main-Class": "hoge.Main"
}
from configurations.compile.collect { it.isDirectory() ? it : zipTree(it) }
}
そしてよく働く。
しかし、私はGradleからのメッセージを持っています(多分6+以降?)
これは実際のメッセージです:
The compile configuration has been deprecated for dependency declaration. This will fail with an error in Gradle 7.0. Please use the implementation configuration instead.
一部 configurations.compile
は非推奨です。
どうすれば更新できますか?
変更した場合
jar {
manifest {
attributes "Main-Class": "hoge.Main"
}
from configurations.implementation.collect { it.isDirectory() ? it : zipTree(it) }
}
Gradleさんのコメント> Resolving configuration 'implementation' directly is not allowed
compile
構成はimplementation
の代わりに廃止されました。
docs を参照してください。
Gradle構成を7.0+形式にアップグレードしたい場合は、compile
をimplementation
またはapi
に置き換えるだけで、Java
プラグイン。 Java-library
プラグインを使用する必要があります。 ドキュメント 。
gradle.config
を次のように置き換えます。
apply plugin: 'Java'
と:
apply plugin: 'Java-library'
非推移的な依存関係にはimplementation
を使用し、推移的な依存関係にはapi
を使用します(依存関係がプロジェクトの依存関係によって直接消費される場合)。
あなたの場合、compile
をruntimeClasspath
に置き換える必要があります。
Gradleの以前のバージョンでは、compile
の責任が多すぎました。
依存関係の宣言のためにimplementation
に置き換えられました。解決のために何かに置き換える必要もあります。
ただし、あなたのケースでは、コンパイルしたものではなくruntimeの依存関係をパッケージ化したいと思うでしょう。したがって、解決する構成としてruntimeClasspath
を使用する必要があります。そして、compileClasspath
依存関係を含まないruntimeOnly
ではありません。