“ 传递依赖项是Maven 2.0中的新功能。 这样一来,您就可以避免发现和指定自己的依赖项所需的库,并自动将它们包括在内。”
我遇到了一个问题,其中一些依赖项在运行时可用,但在公共关系存储库中不可用。 例如,Hibernate依赖于Sun JTA API JAR,并且在中央Maven存储库中不可用,因为它不能自由地重新分发。 因此,在构建项目时,它试图下载可传递依赖项并失败。
因此,我找到了一种忽略所有传递依赖的方法,发现我们可以忽略给定依赖的所有关联依赖。 在那里,我们可以排除所有传递依赖,而无需指定依赖的groupId和artifactId。 因此需要使用astric(*)字符作为依赖项的groupid和artifactid。
<dependency><groupId>sample.ProjectA</groupId><artifactId>Project-A</artifactId><version>1.0</version><scope>compile</scope><exclusions><exclusion><groupId>*</groupId><artifactId>*</artifactId></exclusion></exclusions>
</dependency>
此通配符传递依赖项忽略可用于maven 3.2.1版本。 因此值得升级到最新的Maven版本。
翻译自: https://www.javacodegeeks.com/2014/10/maven-excludes-all-transitive-dependencies.html