ホームページ >Java >&#&チュートリアル >他のアーティファクトに影響を与えずに Gradle で特定の推移的な依存関係を除外する方法は?

他のアーティファクトに影響を与えずに Gradle で特定の推移的な依存関係を除外する方法は?

Patricia Arquette
Patricia Arquetteオリジナル
2024-10-30 02:29:28494ブラウズ

How to Exclude Specific Transitive Dependencies in Gradle Without Affecting Other Artifacts?

Gradle での特定の推移的な依存関係の除外

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。