升级jetbrain idea 2019.2后,maven编译报错,提示重复的类
打开项目,看到idea的更新提示有新版本2019.2,我想都没想直接点了升级,结果升级后,maven编译同样的项目,总是提示”xxx重复的类”。
尝试解决的过程:
1.搜索代码是否有java类重复。 结果:没有发现。
2.maven依赖问题,clean后重新导入。结果:无效。
3.使用maven依赖检测插件,看是否有重复依赖。 结果:没发现。
4.怀疑idea升级导致的。结果:重新安装2019.1.3版本的idea,可以正常编译。
问题原因:
因为我一直使用的是idea自带的maven,而 2019.2版本的idea的maven升级了,从maven3.3.9升级到了最新的3.6.1,但是这个版本的maven有bug,会在编译时重复将当前目录加入到classpath,导致编译时总会报重复的类。(该mavenbug见:https://issues.apache.org/jira/browse/MNG-6649 )。
解决办法:
下载maven3.6.0,然后修改idea的maven路径,指向3.6.0,然后重新编译,一切正常。
总结:
对于一些常用的编译打包工具,最好还是一直使用固定版本,不要用ide自带的,避免频繁更新,导致编译失败等问题。