Gradle では、依存関係を管理し、ビルド パフォーマンスを最適化するために、推移的な依存関係を除外することが重要です。この質問では、他の必要な slf4j アーティファクトを保持しながら、特定の推移的な依存関係 org.slf4j:slf4j-log4j12 のすべてのインスタンスを除外する方法を検討します。
最初に、runtime.exclude グループを使用して除外を設定します: "org.slf4j "、名前: "slf4j-log4j12" は、誤ってすべての slf4j アーティファクトを除外しました。これに対処するには、次に示すように、推移的な依存関係を除外するために名前の代わりにモジュールを使用する必要があります。
configurations { runtime.exclude group: "org.slf4j", module: "slf4j-log4j12" }
この構文は、特定の slf4j-log4j12 モジュールのみを効果的に除外し、他の slf4j アーティファクトを含めることを許可します。 .
さらに、Gradle の「モジュール」の概念を理解することが重要です。モジュールは特定の Maven アーティファクトに対応します。 Gradle は、
[group]:[artifactId]
という規則に従って、Maven アーティファクトの groupId と artifactId からモジュールを派生します。したがって、org.slf4j:slf4j-log4j12 のモジュールは、
org.slf4j:slf4j-log4j12
となります。モジュールを指定することで、Gradle は無関係なアーティファクトに影響を与えることなく、特定の推移的な依存関係を正確にターゲットにして除外できます。
以上が他のアーティファクトに影響を与えずに Gradle で特定の推移的な依存関係を除外する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。