Saya punya proyek Maven besar dengan banyak modul dan banyak pom.xml
file. Proyek telah berubah dan saya menduga pom mengandung beberapa dependensi yang tidak perlu. Apakah ada perintah yang menghapus dependensi yang tidak digunakan dari pom?
277
Jawaban:
The Maven Ketergantungan Plugin akan membantu, terutama
dependency:analyze
tujuan:Hal lain yang mungkin membantu untuk melakukan pembersihan adalah laporan Ketergantungan Konvergensi dari Plugin Maven Project Info Reports .
sumber
ignoreNonCompile
opsi dapat disetel ke true.Kamu bisa memakai
dependency:analyze -DignoreNonCompile
Ini akan mencetak daftar dependensi yang dideklarasikan dan tidak digunakan yang digunakan (sambil mengabaikan
runtime
/provided
/test
/system
cakupan untuk analisis dependensi yang tidak digunakan.)Hati-hati saat menggunakan ini, beberapa perpustakaan yang digunakan di
runtime
dianggap tidak digunakan!Untuk lebih jelasnya lihat tautan ini
sumber
Seperti yang dikatakan orang lain, Anda dapat menggunakan dependensi: menganalisis tujuan untuk menemukan dependensi mana yang digunakan dan dideklarasikan, digunakan dan tidak dideklarasikan, atau tidak digunakan dan dideklarasikan. Anda juga dapat menemukan ketergantungan: analisis-dep-mgt berguna untuk mencari ketidaksesuaian di bagian Manajemen ketergantungan Anda.
Anda cukup menghapus dependensi langsung yang tidak diinginkan dari POM Anda, tetapi jika itu diperkenalkan oleh guci pihak ketiga, Anda dapat menggunakan
<exclusions>
tag dalam dependensi untuk mengecualikan guci pihak ketiga (lihat bagian berjudul Pengecualian Ketergantungan untuk detail dan beberapa diskusi) . Berikut adalah contoh tidak termasuk penebangan bersama dari ketergantungan Spring:sumber
Sudahkah Anda melihat Plugin Ketergantungan Maven ? Itu tidak akan menghapus barang untuk Anda tetapi memiliki alat untuk memungkinkan Anda melakukan analisis sendiri. Saya terutama memikirkan
sumber
Saya memiliki masalah serupa dan memutuskan untuk menulis skrip yang menghapus dependensi untuk saya. Dengan menggunakan itu saya mendapatkan lebih dari setengah dependensi dengan mudah.
http://samulisiivonen.blogspot.com/2012/01/cleanin-up-maven-dependencies.html
sumber
mvn dependency:analyze
. Itu hanya mencoba untuk menghapus setiap ketergantungan dan memeriksa apakahmvn install
berfungsi.