Rumah >Java >javaTutorial >Bagaimana untuk Mengecualikan Ketergantungan Transitif Khusus dalam Gradle Tanpa Menjejaskan Artifak Lain?

Bagaimana untuk Mengecualikan Ketergantungan Transitif Khusus dalam Gradle Tanpa Menjejaskan Artifak Lain?

Patricia Arquette
Patricia Arquetteasal
2024-10-30 02:29:28434semak imbas

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

Mengecualikan Ketergantungan Transitif Khusus dalam Gradle

Dalam Gradle, mengecualikan kebergantungan transitif adalah penting untuk mengurus kebergantungan dan mengoptimumkan prestasi binaan. Soalan ini meneroka cara untuk mengecualikan semua kejadian kebergantungan transitif tertentu, org.slf4j:slf4j-log4j12, sambil mengekalkan artifak slf4j lain yang diperlukan.

Pada mulanya, tetapkan pengecualian menggunakan runtime.exclude group: "org.slf4j ", name: "slf4j-log4j12" secara tidak sengaja mengecualikan semua artifak slf4j. Untuk menangani perkara ini, adalah perlu untuk menggunakan modul dan bukannya nama untuk mengecualikan kebergantungan transitif, seperti yang ditunjukkan oleh:

configurations {
  runtime.exclude group: "org.slf4j", module: "slf4j-log4j12"
}

Sintaks ini berkesan mengecualikan hanya modul slf4j-log4j12 tertentu sambil membenarkan artifak slf4j lain disertakan .

Selain itu, adalah penting untuk memahami konsep "modul" dalam Gradle. Modul sepadan dengan artifak Maven tertentu. Gradle memperoleh modul daripada groupId dan artifactId artifak Maven, mengikut konvensyen:

[group]:[artifactId]

Oleh itu, untuk org.slf4j:slf4j-log4j12, modulnya ialah:

org.slf4j:slf4j-log4j12

Dengan menentukan modul, Gradle boleh menyasarkan dan mengecualikan kebergantungan transitif tertentu dengan tepat tanpa menjejaskan artifak yang tidak berkaitan.

Atas ialah kandungan terperinci Bagaimana untuk Mengecualikan Ketergantungan Transitif Khusus dalam Gradle Tanpa Menjejaskan Artifak Lain?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn