Kecualikan semua dependensi transitif dari jalur kompilasi Java (classpath)?

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 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.


person Stefan Hoffmeister    schedule 11.04.2021    source sumber