匿名用户

1级

2017-09-27 回答

maven3在解决依赖冲突采用就近原则,在就近原则不能做出判断的情况下依据pom.xml的声明的先后顺序决定导入的jar。

jar包冲突多为传递性依赖的管理不当给项目带来的麻烦解决思路罗列如下:

1、首先查看当前项目的jar关系如果使用eclipse、idea等编辑器可打开pom.xml文档底部有Dependency Hierarchy可供查看jar的依赖情况。第二种使用maven插件的方式使用命令行:

mvn dependency:tree

结果中重要的是两个部分,首先是Used undeclared dependencies意值项目中使用到的,但是没有显示声明的依赖。这种依赖意味着潜在的风险。他是通过其他直接依赖导入的传递性依赖,当直接依赖升级时相关依赖的版本也会变化。可能导致当前项目报错,且不易察觉。另一个部分是Unused declared dependencies意指项目中未使用的,但显式声明的依赖。需要注意的是我们不应该直接删除了事而是应该仔细分析。因为这个命令行发现不了执行测试和运行时需要的依赖。

以上方法都可可完整的查看当前项目的jar情况,个人更喜欢使用命令行。

2、通过以上方法我们可以看到项目中引用jar版本号;接下来就是如何排除掉我们不想要版本的jar;语法如下:

.....

....

...

.....

.....

3、一下规避jar冲突的思路,如果项目中有直接用到某个jar而这个jar已通过传递依赖的方式引入到maven项目里了。最好排除这个传递依赖在pom里面明确的声明这个依赖。归类依赖,不断的优化依赖如,去除多余的依赖。

idea如何打开pom引用依赖_idea 怎么引入在pom.xml的jar相关推荐

  1. idea如何打开pom引用依赖_IDEA使用Maven管理项目包,缺少pom文件中引入的依赖包...

    1. 说在前面 最近和其他项目团队合作过程中,由于使用 idea 进行开发,之前也没有接触过太多,本着记录分享的心态,虽有此文.主要说两点:第一,使用 maven 构建项目的过程中,在 pom 文件引 ...

  2. 一个pom文件中出现了两个相同的依赖_在IDEA里解决maven的pom引用jar包冲突

    前言 有的时候,我们要给系统添加一个新功能,可能需要引入新的pom依赖,一切都搞定好后,运行程序却发现报NoClassDeFoundError错误,或者其它莫名奇妙的问题. 这个时候很有可能就是新引入 ...

  3. 工程子模块引用依赖与父pom中的依赖冲突解决方法

    例如:父pom中引用了针对mybatis的引用依赖,子模块中引用了mybatis-plus依赖,形成引用冲突,启动失败. 父pom <!-- mybatis --> <depende ...

  4. maven引用公共包_maven项目打包jar给其他项目pom引用和外部引用

    maven项目打包jar给其他项目pom引用和外部引用 在现实开发过程中,很多代码需要被重复利用的,但是代码量又是很多,这样的代码可以提出出来作为公共代码或者叫做工具使用,通常这样的工具会以jar包的 ...

  5. idea工程本地依赖_IDEA最新版2020.1的maven工程本地依赖仓库无法使用问题(已解决)...

    IDEA 2020.1 版自动导入MAVEN依赖的方法(新版MAVEN无法自动导入/更新POM依赖.MAVEN设置自动更新.自动更新快捷键) 新版的IDEA为了防止 pom 更新时,MAVEN 自动导 ...

  6. (转)通过maven,给没有pom文件的jar包生成pom文件,maven项目引入本地jar包

    文章完全转载自 : https://blog.csdn.net/qq_31289187/article/details/81117478 问题一: 经常遇到公司私服或者中央仓库没有的jar包,然后通过 ...

  7. Maven依赖的Scope去除部署不需要的jar 包(打包)

    2019独角兽企业重金招聘Python工程师标准>>> Maven依赖的Scope去除部署不需要的jar 包(打包) 博客分类: java maven <dependency& ...

  8. maven文件报错(pom.xml或者jar包缺失)解决方法

    maven文件报错(pom.xml或者jar包缺失)解决方法 参考文章: (1)maven文件报错(pom.xml或者jar包缺失)解决方法 (2)https://www.cnblogs.com/wa ...

  9. xml引入另一个xml文件_什么是XML文件(以及如何打开一个XML文件)?

    xml引入另一个xml文件 A file with the .xml file extension is an Extensible Markup Language (XML) file. These ...

最新文章

  1. 华为鸿蒙手机官网价格表,曝下半年华为将推出两款鸿蒙手机:国内独享,价格良心...
  2. P2700 逐个击破
  3. Dynamipsgui入门教程
  4. django datetime format 日期格式化
  5. geteditor p 取消自动_自动挡汽车最热问题,N档到底是干什么用的?
  6. 一款不错的开源 Laravel 后台面板/CMS系统 —— LaraAdmin
  7. 中班音乐活动 机器人_幼儿园中班音乐活动教案《机器人》
  8. verilog的“==”与“===”
  9. 单向链表和双向链表区别_双向链表
  10. [转载] 跟着吴恩达学机器学习(Machine Learning) on Coursera 第一天
  11. 实战篇3:一切皆对象,文件目录体系(节点树)
  12. mysql查看锁死的sql,最全指南
  13. ECLIPSE中添加TPTP插件
  14. python常用模块time模块
  15. Java计算标会(会子)利率
  16. 我们为什么生病:达尔文医学的新观念
  17. uniapp修改字体
  18. typename和class
  19. Delphi CreateMutex 防止程序多次运行
  20. 【MVC】MVC分页

热门文章

  1. tone mapping简介
  2. 神经网络之感知器算法简单介绍和MATLAB简单实现
  3. pipline 简单是使用
  4. 过程 线 多线程 并发 同步异步
  5. Gartner:CIO需破解建立数字化领导力的四大障碍
  6. 多线程读取大文件,尤其是对日志文件分析很有用。
  7. 解决SQLServer事物日志过大的方法
  8. IIS Log的位置
  9. WinXP无需激活的秘技
  10. php获得每个月第一天的时间,PHP获取指定日期所在月的第一天和最后一天几个例子...