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>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章