Maven冲突 omitted for conflict with 解决
·
Maven冲突 omitted for conflict with 解决
实际开发过程中,我们可能经常遇见omitted for conflict with/omitted for duplicate。
我们在本地执行 mvn -X compile dependency:tree -Dverbose >a.log
命令可以检查 jar包版本冲突,然后在a.log里查找是 否存在omitted for conflict with
,如果有则表示jar包有版本冲突,
注意有版本冲突的也会显示编译成功(mvn dependency : tree -Deverbose | grep “omitted for conflict with”)。
根据提示的冲突,修改pom文件,即 将冲突的jar包管理起来,在节点中加入 冲突的依赖包,并确认版本 。所有依赖的版本号应使用dependencyManagement显示管理,若要引用依赖,需要在dependencyManagement下面写上依赖的 dependency ,不用在写 version 。例如:
<dependencies>
<dependency>
<groupId>javax.validation</groupId>
<artifactId>validation-api</artifactId>
<version>${javax.validation.version}</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-validator</artifactId>
<version>${hibernate.validator.version}</version>
</dependency>
</dependencies>
修改为
<dependencyManagement>
<dependencies>
<dependency>
<groupId>javax.validation</groupId>
<artifactId>validation-api</artifactId>
<version>${javax.validation.version}</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-validator</artifactId>
<version>${hibernate.validator.version}</version>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>javax.validation</groupId>
<artifactId>validation-api</artifactId>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-validator</artifactId>
</dependency>
</dependencies>
更多推荐
已为社区贡献2条内容
所有评论(0)