You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WSL Ubuntu环境Maven报Unable to load cache item错误如何解决

报错根因

这是典型的版本不兼容问题:WSL环境中通过Ubuntu apt源安装的Maven 3.6.3内置的cglib、Guice依赖版本过低,无法适配Java 17的字节码生成、类加载规则,触发com.google.inject.internal.cglib.core.$MethodWrapper类初始化失败。Windows原生命令行运行无异常,是因为Windows侧安装的Maven版本更高,已经完成JDK17适配。

解决方法

两种方案二选一即可:

方案1(推荐):升级WSL内Maven到JDK17兼容版本

Maven 3.8.0及以上版本已原生支持JDK17,操作步骤:

  • 卸载apt安装的旧版Maven:
sudo apt remove maven -y
  • 下载3.8.x或3.9.x系列Maven二进制压缩包,解压到/opt/maven目录
  • 编辑当前用户的shell配置文件(使用bash则编辑~/.bashrc,使用zsh则编辑~/.zshrc),追加环境变量配置:
export MAVEN_HOME=/opt/maven
export PATH=$MAVEN_HOME/bin:$PATH
  • 执行source ~/.bashrc(对应自己使用的shell配置文件)让配置生效,执行mvn -version确认版本号≥3.8.0后,mvn命令即可正常运行。

方案2:保留Maven 3.6.3,降级WSL内JDK版本

如果项目有特殊约束必须使用Maven 3.6.3,可将WSL内默认JDK切换到兼容的JDK 8或JDK 11版本:

  • 安装OpenJDK 11:
sudo apt install openjdk-11-jdk -y
  • 执行版本切换命令,在弹出的选项中选中刚安装的openjdk-11作为系统默认Java版本:
sudo update-alternatives --config java
  • 修改JAVA_HOME环境变量指向JDK11的安装路径,重新加载shell配置后即可正常使用mvn命令。

注意:不要把Windows侧的Java、Maven路径加入WSL的PATH环境变量,跨系统调用Win32程序容易触发额外的兼容性问题。

内容的提问来源于stack exchange,提问作者CrazySynthax

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.06 16:15:42