maven(三)

来源:互联网 发布:阿里云域名咋续费 编辑:程序博客网 时间:2024/06/10 22:24

排除依赖

背景:我在service中有一个jar包,然后在api中也有一个相同的jar包,因为service依赖于api;这样就会有冲突,因为有两个相同的jar包了。这时候就需要用到依赖传递

这里写图片描述
当使用exclusions元素声明排除依赖,exclusions可以包含一个或者多个exclusion子元素,因此可以排除一个或者多个传递性依赖。需要注意的是,声明exclusions的时候只需要groupId和artifactId,而不需要version元素,因为只需要groupId和artifactId就能唯一定位依赖图中的某个依赖。换句话说,Maven解析后的依赖中,不可能出现groupId和artifactId相同,但是version不同的两个依赖。

maven还有个可选依赖的设置,在当前项目A设置对某个依赖是可选的

<optional>true</optional>

如果我的当前项目是project1,project1要依赖project2,project1依赖project2的配置中加上 true,表示依赖可选,如下:

<dependency>    <groupId>com.projecct</groupId>    <artifactId>project2</artifactId>    <version>1.0</version>    <scope>compile</scope>    <optional>true</optional></dependency>
原创粉丝点击