编译项目时,Maven 抛出错误

编译项目时,Maven 抛出错误

OS Linux - Ubuntu 20.04.2 LTS 编译项目时,Maven 抛出错误

[ERROR] Error executing Maven.
[ERROR] java.lang.IllegalStateException: Unable to load cache item
[ERROR] Caused by: Unable to load cache item
[ERROR] Caused by: Could not initialize class com.google.inject.internal.cglib.core.$MethodWrapper

java -版本

openjdk version "17" 2021-09-14 LTS
OpenJDK Runtime Environment (build 17+35-LTS)
OpenJDK 64-Bit Server VM (build 17+35-LTS, mixed mode, sharing)

mvn-版本

Apache Maven 3.6.3
Maven home: /usr/share/maven
Java version: 17, vendor: BellSoft, runtime: /usr/lib/jvm/bellsoft-java17-amd64
Default locale: ru_RU, platform encoding: UTF-8
OS name: "linux", version: "5.11.0-37-generic", arch: "amd64", family: "unix"

java -XshowSettings:properties -version 2>&1 > /dev/null | grep'java.home'

java.home = /usr/lib/jvm/bellsoft-java17-amd64

答案1

我遇到了同样的问题。遗憾的是,我只能通过包管理器更新到 3.6.3,所以我手动安装了它。在 ubuntu 上安装的步骤如下:

Maven 3.3+ 需要安装 JDK 1.7 或更高版本。

下载 Apache Maven。我安装的是 3.8.6,你可以在这里检查最新版本:https://maven.apache.org/download.cgi

我们将档案保存到/tmp

$ TMP_MAVEN_VERSION=3.8.6
$ wget https://apache.org/dist/maven/maven-3/$TMP_MAVEN_VERSION/binaries/apache-maven-$TMP_MAVEN_VERSION-bin.tar.gz -P /tmp

然后解压/opt并删除档案

$ sudo tar xf /tmp/apache-maven-*.tar.gz -C /opt
$ sudo rm /tmp/apache-maven-*-bin.tar.gz

接下来我们创建一个符号链接

$ sudo ln -s /opt/apache-maven-$TMP_MAVEN_VERSION /opt/maven

最后我们设置环境

$ sudo echo "export JAVA_HOME=/usr/lib/jvm/default-java
export M2_HOME=/opt/maven
export MAVEN_HOME=/opt/maven
export PATH=${M2_HOME}/bin:${PATH}" >> /etc/profile.d/maven.sh

为了无需重启即可使用它,我们使其可执行并运行

$ sudo chmod +x /etc/profile.d/maven.sh
$ source /etc/profile.d/maven.sh

现在您可以验证它是否已正确安装

$ mvn -v
Apache Maven 3.8.4 (9b656c72d54e5bacbed989b64718c159fe39b537)
Maven home: /opt/maven
Java version: 11.0.13, vendor: Ubuntu, runtime: /usr/lib/jvm/java-11-openjdk-amd64
Default locale: en, platform encoding: UTF-8
OS name: "linux", version: "5.11.0-1022-aws", arch: "amd64", family: "unix"

衍生自

答案2

我也遇到了同样的问题。我找到了解决方案。更新最新的 maven 版本 3.8.3。使用最新的 maven 它可以正常工作。

MVN-V
Apache Maven 3.8.3(ff8e977a158738155dc465c6a97ffaf31982d739)
Maven 主页:/opt/maven
Java 版本:17,供应商:Private Build,运行时:/usr/lib/jvm/java-17-openjdk-amd64
默认语言环境:en_IN,平台编码:UTF-8
操作系统名称:“linux”,版本:“5.10.0-1051-oem”,架构:“amd64”,系列:“unix”

答案3

截至 2021/10/25,maven 不再支持 Java 17。

创建vi ~/.mavenrc文件并给出低于 17 的任何版本。

export JAVA_HOME=/usr/lib/jvm/java-16-openjdk-amd64/

答案4

我遇到了和你同样的错误。我的操作系统版本是ubuntu 20.04 LTS

原因是 maven 版本(3.6.3)较旧。

从以下位置下载最新的 bin 版本 (apache-maven-3.8.6-bin.zip)https://maven.apache.org

我将文件解压缩到/data/app/maven/3.8.6/apache-maven-3.8.6/bin

使用这样的命令export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64/ && /data/app/maven/3.8.6/apache-maven-3.8.6/bin/mvn

它在我的机器上运行良好

相关内容