zoukankan      html  css  js  c++  java
  • maven依赖包冲突解决思路


    1、显示依赖关系
    mvn dependency:tree > tree.txt
    显示所有依赖关系,并输出到text.txt
    mvn dependency:tree -Dverbose > tree.txt
    显示指定包的依赖关系
    mvn dependency:tree -Dverbose -Dincludes=net.masterthought:maven-cucumber-reporting:jar:3.13.1
    mvn dependency:tree -Dverbose -Dincludes=org.springframework:spring-context-support


    2、maven包冲突
    maven采用“最近获胜策略(nearest wins strategy)”的方式处理依赖冲突,即如果一个项目最终依赖于相同artifact的多个版本,在依赖树中离项目最近的那个版本将被使用。
    解决方法一:
    当冲突时把需要依赖的包重新定义在最外层依赖关系中,即在pom.xml文件中直接加上依赖。

    解决方法二:
    在resolve-web项目对project-A的dependency声明中,将project-common排除掉。在resolve-web的pom.xml文件中修改对project-A的dependency声明:

    <dependency> 
    <groupId>project-A</groupId> 
    <artifactId>project-A</artifactId> 
    <version>1.0</version> 
    <exclusions> 
    <exclusion> 
    <groupId>project-common</groupId> 
    <artifactId>project-commmon</artifactId> 
    </exclusion> 
    </exclusions> 
    </dependency>
  • 相关阅读:
    Fedora/CentOS/RHEL删除旧的内核
    Linux下使Shell命令脱离终端运行
    保持tmux窗口名更改后不变
    Centos7 修改ssh 默认端口号
    验证码生成代码
    Json帮助类代码
    Http请求代码
    cookies读写代码
    缓存读写代码
    数据读写 CommonCurd
  • 原文地址:https://www.cnblogs.com/gongxr/p/8241327.html
Copyright © 2011-2022 走看看