maven如何解决依赖冲突?示例三种bug的解决

    技术2022-07-10  176

    Bug1:本地pull了总分支后无法加载用到的jar包

    因为本地之前用的依赖版本,和总分支用了同样版本的依赖,但是两个相同版本的jar包里有一个不同的函数。这样一来本地检测到相同版本。 解决方案: 1.先在Setting里找到Maven的本地仓库路径,进入roepository 2.在repository下的common文件夹中找到以项目名命名的文件夹然后删除,之后再IDEA里执行更新命令

    Bug2:部署编译失败

    通过如下命令行将远端仓库的jar包同步到本地

    mvn clean install -Dmaven.repo.local=/tmp/m2 -Dmaven.test.skip=true

    结果发现了禁止的直接依赖 解决方案: 在IDEA里终端找到项目所在目录,输入以下命令

    mvn dependency:tree -Dverbose -Dincludes=asm:asm

    将禁止直接引用的依赖找到,去父级用解绑,实例如下

    <dependency> <groupId>org.apache.hbase</groupId> <artifactId>hbase</artifactId> <version>xxx</version> <exclusions> <exclusion> <groupId>commons-logging</groupId> <artifactId>commons-logging</artifactId> </exclusion> </exclusions> </dependency> 注:-Dmaven.test.skip=true,不执行测试用例,也不编译测试用例类。
    Processed: 0.009, SQL: 10