最近遇到了一个ClassNotfoundException异常,明显是jar包冲突,只要删除(exclusion)掉其中某个jar包(dependency)就好了。 然后确实是可以解决这个问题, 但是解决了这个问题之后又有了一个新的jar包冲突。
对于以上问题, 我们可以安装Maven Helper插件来显示项目中的所有依赖冲突。
首先在Setting的Plugins中安装Maven Helper,第一次安装完会重启IDEA
之后在pom文件中就会有一个依赖分析的选项,点进去之后就有我们需要用到的功能了:
第一个就是显示所有的冲突jar包, 可以看到我这个test项目中有两个jar包冲突,拿第一个举例来说,commons-collections4是被poi引入了4.4版本, 然后又单独引入了4.1版本,这就造成了一个项目有两个jar包, 可以将单独引进的这个依赖删掉,或者将poi的依赖排除掉。
右键右方的这个选项,第一个菜单是在pom中查看依赖, 第二个选项是自动在poi中新增exclusion标签。
另外,idea自带的依赖关系图也包含上上面的功能,但是因为他是图形的, 一个个找的话不如这个Maven Helper直接显示在列表中直观。