Gradle では、ビルドされた JAR ファイル内の不要なアーティファクトを回避するために、特定の推移的な依存関係を除外できます。この記事では、Gradle 構成を使用して org.slf4j:slf4j-log4j12 を除外する方法について説明します。
アプリケーション プラグインを使用する Gradle プロジェクトでは、slf4j-log4j12 を除外するという課題が発生しました。その実行時の依存関係。 runtime.exclude 構成を使用してこれを除外しようとすると、slf4j-api を含むすべての org.slf4j アーティファクトが除外されました。
この問題を解決するには、次の構文を使用して両方のグループを指定します。およびモジュール:
configurations { runtime.exclude group: "org.slf4j", module: "slf4j-log4j12" }
このアプローチにより、他の org.slf4j アーティファクトには影響を与えずに、必要な依存関係のみが確実に除外されます。
個人から除外する場合依存関係がある場合、述語として使用できるのはグループとモジュールのプロパティのみです。依存関係の宣言とは異なり、名前などの任意のプロパティを指定することはできません。
Gradle の「モジュール」の概念は、Maven の artifactId の概念と一致しています。上の例では、slf4j-log4j12 がモジュールを表します。 Maven アーティファクトのモジュール名を確認するには、その artifactId コンポーネントを参照してください。
以上がGradle で特定の推移的な依存関係を除外する方法: slf4j-log4j12 を除外するためのソリューションの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。