Saya mencoba menemukan cara "umum" untuk mengecualikan ketergantungan transitif agar tidak disertakan tanpa harus mengecualikannya dari semua ketergantungan yang bergantung padanya. Misalnya, jika saya ingin mengecualikan slf4j, saya melakukan hal berikut:
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-jmx</artifactId>
<version>3.3.2.GA</version>
<exclusions>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-entitymanager</artifactId>
<version>3.4.0.GA</version>
<type>jar</type>
<exclusions>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
</exclusion>
</exclusions>
</dependency>
Ini sebagian untuk membersihkan file pom, sebagian untuk menghindari masalah di masa mendatang dengan orang-orang yang menambahkan dependensi yang bergantung pada dependensi yang dikecualikan itu - dan lupa mengecualikannya.
Apakah ada jalan