Saya mencoba menerapkan kebijakan yang bergantung langsung pada apa yang Anda gunakan di pom.xml Maven 3.x.
Ide dasarnya adalah mengeksploitasi pengecualian wildcard Maven untuk menghapus semua dependensi transitif, kemudian kompiler Java gagal pada mvn clean compile
karena kode sumber mencoba memanfaatkan konten yang hanya ada dalam transitif em> ketergantungan.
Mengikuti Kecualikan semua dependensi transitif dari semua dependensi? skrip Groovy akan melakukan semuanya kerja keras ini untukku; skenario pengujian mvn validate dependency:tree
kemudian menunjukkan bahwa pohon ketergantungan memang telah menghapus semua ketergantungan transitif.
Sayangnya, menghapus dependensi transitif seperti yang dijelaskan tampaknya tidak memberikan efek yang diinginkan pada jalur kompilasi (kompiler Java -classpath
), karena classpath tersebut masih mencantumkan semua dependensi transitif.
Saya mencari saran tentang cara menghilangkan ketergantungan yang tidak diinginkan ini dari classpath kompiler Java - tujuannya adalah kompilasi gagal.