Я намагаюся знайти "загальний" спосіб виключити транзитивну залежність із включення, не виключаючи її з усіх залежностей, які від неї залежать. Наприклад, якщо я хочу виключити slf4j, я роблю наступне:
<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>
Це частково для очищення файлу pom, частково для уникнення проблем у майбутньому, коли люди додають залежності, які залежать від цієї виключеної залежності, - і забуваючи виключити її.
Чи є спосіб?