1. 在工作中遇到maven parent 工程pom 文件中定义的如下依赖与 某个 子module 工程中的pom中定义的jar包冲突
<dependencyManagement >
<dependencies>
<dependency>
<groupId>xx.xx.xx</groupId>
<artifactId>xx-dependencies</artifactId>
<version>x.x.x-RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement >
2. 在某个子module 中的pom 文件有如下依赖 ,这个依赖中的某些jar版本会被 上面那个 依赖中定义的jar版本覆盖,这个时候如何解决呢?
<dependency>
<groupId>x.x.x.starters</groupId>
<artifactId>x-starters-dependencies</artifactId>
<version>0.0.3-SNAPSHOT</version>
<type>pom</type>
<scope>import</scope>
</dependency>
3. 在1那个依赖如下 定义被覆盖的jar包的正确版本即可。
<dependencyManagement >
<dependencies>
<dependency>
<groupId>xx.xx.xx</groupId>
<artifactId>xx-dependencies</artifactId>
<version>x.x.x-RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<!-- 下面这两个jar的正确版本应该为4.0.1,所以单独在这里定义下,即可解决 -->
<dependency>
<groupId>org.apache.curator</groupId>
<artifactId>curator-recipes</artifactId>
<version>4.0.1</version>
<exclusions>
<exclusion>
<groupId>org.apache.zookeeper</groupId>
<artifactId>zookeeper</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.curator</groupId>
<artifactId>curator-framework</artifactId>
<version>4.0.1</version>
<exclusions>
<exclusion>
<groupId>org.apache.zookeeper</groupId>
<artifactId>zookeeper</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
</dependencyManagement >