Rumah  >  Artikel  >  Java  >  Cara Mengecualikan Ketergantungan Transitif Khusus dalam Gradle: Penyelesaian untuk Mengecualikan slf4j-log4j12

Cara Mengecualikan Ketergantungan Transitif Khusus dalam Gradle: Penyelesaian untuk Mengecualikan slf4j-log4j12

Patricia Arquette
Patricia Arquetteasal
2024-10-26 18:35:30284semak imbas

How to Exclude Specific Transitive Dependencies in Gradle:  A Solution for Excluding slf4j-log4j12

Mengecualikan Ketergantungan Khusus Semasa Gradle Build

Gradle membenarkan mengecualikan kebergantungan transitif tertentu untuk mengelakkan artifak yang tidak diingini dalam fail jar terbina anda. Dalam artikel ini, kami akan meneroka cara untuk mengecualikan org.slf4j:slf4j-log4j12 menggunakan konfigurasi Gradle.

Pernyataan Masalah

Projek Gradle menggunakan pemalam aplikasi menghadapi cabaran tidak termasuk slf4j-log4j12 daripada kebergantungan masa jalannya. Percubaan awal untuk mengecualikannya menggunakan konfigurasi runtime.exclude mengecualikan semua artifak org.slf4j, termasuk slf4j-api.

Penyelesaian

Untuk menyelesaikan isu, gunakan sintaks berikut untuk menentukan kedua-dua kumpulan dan modul:

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

Pendekatan ini memastikan pengecualian hanya pergantungan yang diingini, meninggalkan artifak org.slf4j lain tidak terjejas.

Nota Tambahan

Apabila tidak termasuk daripada individu kebergantungan, hanya sifat kumpulan dan modul tersedia sebagai predikat. Tidak seperti pengisytiharan kebergantungan, anda tidak boleh menentukan sifat sewenang-wenangnya seperti nama.

Konsep "modul" dalam Gradle sejajar dengan tanggapan Maven artifactId. Dalam contoh di atas, slf4j-log4j12 mewakili modul. Untuk menentukan nama modul artifak Maven, rujuk komponen artifactIdnya.

Atas ialah kandungan terperinci Cara Mengecualikan Ketergantungan Transitif Khusus dalam Gradle: Penyelesaian untuk Mengecualikan slf4j-log4j12. 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