Rumah  >  Artikel  >  Java  >  Bagaimanakah saya mengecualikan kebergantungan transitif tertentu dalam Gradle?

Bagaimanakah saya mengecualikan kebergantungan transitif tertentu dalam Gradle?

Barbara Streisand
Barbara Streisandasal
2024-10-26 08:23:30985semak imbas

How do I exclude specific transitive dependencies in Gradle?

Cara Mengecualikan Kebergantungan Transitif dengan Gradle

Latar Belakang

Sesekali, anda mungkin perlu mengecualikan dependensi tertentu daripada projek Gradle anda. Ini amat berguna apabila pustaka dengan kebergantungan transitif yang tidak diingini disertakan dalam projek anda.

Penyelesaian

Untuk mengecualikan kebergantungan transitif individu, gunakan peraturan kecualikan dengan kedua-dua kumpulan dan modul yang ditentukan. Berikut ialah contoh:

<code class="groovy">configurations {
  runtime.exclude group: "org.slf4j", module: "slf4j-log4j12"
}</code>

Penjelasan

Peraturan Kecualikan mengambil dua atribut: kumpulan dan modul. Dengan menentukan kedua-dua kumpulan dan modul, anda mengenal pasti pergantungan yang anda mahu kecualikan dengan tepat.

Jika anda cuba menentukan sifat sewenang-wenangnya (cth., nama) dalam Peraturan Kecualikan, Gradle akan menimbulkan ralat. Ini kerana Peraturan Kecualikan hanya menerima sifat kumpulan dan modul.

Modul Maven lwn Modul Gradle

Dalam Maven, konsep modul adalah bersamaan dengan balang. Walau bagaimanapun, dalam Gradle, istilah modul adalah lebih fleksibel dan boleh merujuk kepada satu artifak atau sekumpulan artifak yang berkaitan (cth., pemalam dengan berbilang kebergantungan). Maksud khusus modul dalam Peraturan Kecualikan Gradle akan bergantung pada konteksnya.

Nota Tambahan

  • Untuk mengecualikan kebergantungan daripada kebergantungan individu tertentu, gunakan sintaks berikut:
<code class="groovy">dependencies {
  compile ('org.springframework.data:spring-data-hadoop-core:2.0.0.M4-hadoop22') {
    exclude group: "org.slf4j", module: "slf4j-log4j12"
  }
}</code>

Atas ialah kandungan terperinci Bagaimanakah saya mengecualikan kebergantungan transitif tertentu dalam Gradle?. 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