Estoy tratando de compilar IntelliJ Project con maven en java 16.0.1, pero no puede compilar mi proyecto, aunque IntelliJ puede hacerlo con éxito. Antes de eso, usé maven para compilar un proyecto java 15, pero decidí actualizar todo a 16.0.1 debido al completo desorden con diferentes versiones de java en mi máquina, como si pudiera compilar pero no ejecutar archivos .jar generados. y etc.
salida mvn compile
:
[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
Aquí está mi archivo pom.xml
:
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>org.example</groupId> <artifactId>TaxiDB</artifactId> <version>1.0</version> <packaging>jar</packaging> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <configuration> <archive> <manifest> <addClasspath>true</addClasspath> <mainClass>Main</mainClass> </manifest> </archive> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.8.0</version> <configuration> <release>16.0.1</release> </configuration> </plugin> </plugins> </build> <properties> <maven.compiler.source>16</maven.compiler.source> <maven.compiler.target>16</maven.compiler.target> </properties> <dependencies> ... </dependencies> </project>
mvn -version
de salida:
Apache Maven 3.6.3 Maven home: /usr/share/maven Java version: 16.0.1, vendor: Oracle Corporation, runtime: /usr/lib/jvm/java-16-oracle Default locale: en_US, platform encoding: UTF-8 OS name: "linux", version: "5.8.0-50-generic", arch: "amd64", family: "unix"
java -verion
de la versión:
java version "16.0.1" 2021-04-20 Java(TM) SE Runtime Environment (build 16.0.1+9-24) Java HotSpot(TM) 64-Bit Server VM (build 16.0.1+9-24, mixed mode, sharing)
El problema es que su versión de Maven es demasiado antigua. No es compatible con JDK 16.
Intente instalar manualmente maven versión 3.8.1:
https://maven.apache.org/install.html
Esto resolverá su problema sin degradar su versión de JDK.
Tuve este problema al ejecutar mvn compile
en Ubuntu 20.10. Ejecutar el mismo comando maven en Ubuntu 21.04 (la última versión) parece estar bien.
Es posible que desee verificar la versión de Linux que está ejecutando. Si ejecuta una versión anterior, actualice a Ubuntu 21.04.