Temukan Dependensi Maven yang Tidak Digunakan

1. Ikhtisar

Saat menggunakan Maven untuk mengelola dependensi proyek kami, kami dapat kehilangan jejak dependensi apa yang digunakan dalam aplikasi kami.

Dalam tutorial singkat ini, kami akan membahas cara menggunakan plugin dependensi Maven , plugin yang membantu kami menemukan dependensi yang tidak digunakan dalam proyek kami.

2. Pengaturan Proyek

Mari kita mulai dengan menambahkan beberapa dependensi, slf4j-api (yang akan kita gunakan) dan common-collections (yang tidak akan kita gunakan):

  commons-collections commons-collections 3.2.2   org.slf4j slf4j-api 1.7.25   

Kita dapat mengakses plugin ketergantungan Maven tanpa menentukannya di pom kita. Bagaimanapun, kita dapat menggunakan definisi pom.xml untuk menentukan versi dan juga beberapa properti jika diperlukan:

   maven-dependency-plugin 3.1.2   

3. Contoh Kode

Sekarang setelah proyek kita siap, mari tulis sebaris kode di mana kita menggunakan salah satu dependensi yang kita tentukan sebelumnya:

public Logger getLogger() { return LoggerFactory.getLogger(UnusedDependenciesExample.class); }

The LoggerFactory dari perpustakaan SLF4J dikembalikan dalam metode, tetapi tidak ada penggunaan perpustakaan umum-koleksi, sehingga calon untuk dihapus.

4. Temukan Dependensi yang Tidak Digunakan

Dengan menggunakan plugin dependensi Maven, kami dapat menemukan dependensi yang tidak digunakan dalam proyek kami. Untuk itu, kami memanggil tujuan analisis plugin:

$ mvn dependency:analyze [INFO] --- maven-dependency-plugin:3.1.1:analyze (default-cli) @ maven-unused-dependencies --- [WARNING] Unused declared dependencies found: [WARNING] commons-collections:commons-collections:jar:3.2.2:compile [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 1.225 s [INFO] Finished at: 2020-04-01T16:10:25-04:00 [INFO] ------------------------------------------------------------------------

Untuk setiap dependensi yang tidak digunakan dalam proyek kami, Maven mengeluarkan peringatan dalam laporan analisis.

5. Tentukan Dependensi yang Digunakan

Bergantung pada sifat proyek, terkadang kita mungkin perlu memuat kelas saat runtime, seperti misalnya dalam proyek berorientasi plugin.

Karena dependensi tidak digunakan pada waktu kompilasi, maven-dependency-plugin akan mengeluarkan peringatan yang menyatakan bahwa dependensi tidak digunakan, padahal sebenarnya digunakan. Untuk itu, kita dapat memberlakukan dan menginstruksikan plugin bahwa sebuah library sedang digunakan.

Kami melakukan ini dengan mencantumkan dependensi di dalam properti usedDependencies :

 org.apache.maven.plugins maven-dependency-plugin   commons-collections:commons-collections   

Menjalankan tujuan analisis lagi, kami melihat bahwa ketergantungan yang tidak digunakan tidak lagi dipertimbangkan dalam laporan.

6. Kesimpulan

Dalam tutorial singkat ini, kita belajar bagaimana menemukan dependensi maven yang tidak digunakan. Merupakan praktik yang baik untuk memeriksa dependensi yang tidak digunakan secara teratur karena ini meningkatkan pemeliharaan dan mengurangi ukuran perpustakaan proyek kita.

Seperti biasa, kode sumber lengkap dengan semua contoh tersedia di GitHub.