IntelliJ 2020.2升级后Java Maven项目构建失败求助
IntelliJ 2020.2 构建Java+Maven项目失败(NPE at index 8)的解决方案
我之前在社区里碰到过好几个开发者遇到一模一样的问题——升级到IntelliJ IDEA 2020.2后,通过IDE菜单的Build->Build Project构建Java+Maven项目时触发空指针异常,但用Maven命令行(比如mvn clean compile)却能正常运行。从你提供的堆栈跟踪来看,问题根源出在Android插件与2020.2版本IDE的兼容性bug上,哪怕你没开发Android项目,只要IDE里装了Android相关插件就会触发这个问题。
下面是几个经过验证的临时解决办法:
1. 临时禁用Android插件(最快速的方案)
这是最直接的解决方式,因为你当前没有开发Android项目,禁用插件不会影响现有工作:
- 打开
File->Settings->Plugins(Windows/Linux)或IntelliJ IDEA->Preferences->Plugins(Mac) - 在插件列表里找到
Android Support或Android相关插件,取消勾选它的复选框 - 点击
Apply按钮后重启IDE,再尝试执行Build->Build Project,构建应该就能正常完成了
2. 降级/更新Android插件版本
如果你需要保留Android插件的功能,可以尝试调整插件版本:
- 在Plugins设置界面,切换到
Installed标签页,找到Android插件 - 点击插件右侧的
...按钮,选择Manage Versions - 选择一个标注支持IntelliJ 2020.2的旧版本(或者如果有适配的更新版本也可以尝试),安装后重启IDE测试
3. 用IDE内的Maven工具替代IDE原生构建
既然命令行Maven能正常工作,也可以直接在IDE里调用Maven的构建目标:
- 打开
View->Tool Windows->Maven,调出Maven面板 - 找到你的项目,展开
Lifecycle目录,依次执行clean和compile目标,效果和IDE的Build Project完全一致
问题原因说明
从你提供的堆栈信息可以看到关键异常链:
Caused by: java.lang.NullPointerException: at index 8 at com.google.common.collect.ObjectArrays.checkElementNotNull(ObjectArrays.java:225) at org.jetbrains.android.compiler.AndroidBuildProcessParametersProvider.getClassPath(AndroidBuildProcessParametersProvider.java:23)
异常发生在Android插件的类路径构建逻辑里,代码尝试创建ImmutableList时,数组的第8个元素为null,导致Guava库抛出空指针。这是JetBrains在2020.2版本IDE和对应Android插件之间的兼容性bug,后续插件更新已经修复了这个问题,所以调整插件状态就能解决。
内容的提问来源于stack exchange,提问作者przebar
相关产品推荐
相关产品推荐

