Rumah >Java >javaTutorial >Cara Mengecualikan Ketergantungan Transitif Khusus dalam Gradle: Penyelesaian untuk Mengecualikan slf4j-log4j12
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.
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.
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.
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!