maven 依赖传递
maven 的 jar 默认是依赖传递的。
有两种方式可以断绝这种依赖传递。
声明时
如果当前模块其中一个引入的 jar 如此声明,那么其他的模块引入当前模块,则这个 jar 不会被引入。
<dependency>
<groupId>com.github.houbb</groupId>
<artifactId>log-integration</artifactId>
<version>1.0.0</version>
<optional>true</optional>
</dependency>
引用时
有时候我们想排除某一个依赖。可以声明如下:
<dependency>
<groupId>com.github.houbb</groupId>
<artifactId>log-integration</artifactId>
<version>1.0.0</version>
<exclusions>
<exclusion>
</exclusion>
</exclusions>
</dependency>
可以在 <exclusion>
中指定 log-integration 依赖,但是我们想排除的 jar。
maven 各种 jar 之间的依赖关系
常用命令
mvn dependency:tree
查看所有依赖
mvn dependency:tree -Dverbose
指定 jar 的依赖关系
如下命令可以指定 xmlbeans:xbean
相关的 jar,获得依赖关系。
mvn dependency:tree -Dverbose -Dincludes=xmlbeans:xbean