简介

因为平时项目整合的jar包太多,今天遇到一个包冲突的问题,昨天能运行的项目,今天突然不能运行了(后来知道是因为新加入了依赖,产生了冲突),并且报错提示与实际情况又不一致,这种问题就很麻烦,只能慢慢试

解决方法

  • 找到冲突的包
    点击图中按钮,或使用快捷键Ctrl+Alt+Shift+u

    只要有红色的线,即表示是有冲突的包(这里简单说明一下,一般开发遇到包冲突的概率也不多,但像我这样,用什么HugeGraph,这种小众的项目,就很有可能)

    点击maven依赖树左上角,Show Conflicts/Duplicates,可显示全部冲突依赖

    点击后我的显示为
  • 选择一个版本jar包删除
    这里选择一个要删除的jar包,选择的标准是选择高版本或者缺少某些方法的jar删除,比如要用高版本的新特性方法,那么就删除低版本的jar,如果不用新方法,那就和我一样删除高的版本就行了,(不用担心删错)
    左键选择要删除的依赖

    右键然后选择 Exclude 或者直接按快捷键Shift+ Delete,即可删除

例如我删除后,之前的冲突依赖就消失了

idea java 包冲突 idea jar包冲突怎么解决_jar包

  • 删错jar包怎么恢复
    这里考虑到我们可能会删错jar包,如果删错后怎么恢复呢?我们打开pom.xml 文件,可以看到,我们的删除操作只是让maven排除了这个包而已,并不是物理删除,如果我们要恢复,把排除的内容从pom.xml中删除即可,冲突就重现了!
  • 最后感谢这些发现问题的大佬们
    我用的HugeGraph图数据库很小众,都2021了,一个正式的版本都没有,出了问题查都查不到,这里告诉我们一条重要的经验,多看官方文档,出了问题查不到可以考虑查询 Github 的Issues,当然最好我们自己也能提,也可查看项目更新的历史,说不定你的问题就在新版本中fix了,完

idea java 包冲突 idea jar包冲突怎么解决_java_02


idea java 包冲突 idea jar包冲突怎么解决_java_03