Dienstag, 6. August 2019

Maven: Invalid target release

Ein Problem, das immer mal wieder bei Maven auftaucht, ist die folgende schöne Fehlermeldung: invalid target release:x.x

Vor kurzem hatte ich dieses Problem beim Übersetzen eines Maven-Projekts wieder: invalid target release: 1.11.

In meiner pom.xml hatte ich Java 11 eingetragen. Dabei ergab im Terminal ein java -version eindeutig, dass die Java-Version 12 genutzt wurde. Das sollte also für Java 11 kein Problem darstellen. Als ich dann mvn -version eingab, erhielt ich als Ausgabe, dass Maven mit Java8 arbeitet.

Also irgendjemand lügt mich an: entweder Maven oder Java.

Ein wenig Recherche hat dann ergeben, dass keiner von beiden lügt. Maven arbeitet nicht mit der Java-Version, die in der PATH-Variablen angegeben ist, sondern mit der Java-Version in JAVA_HOME. Wenn JAVA_HOME immer noch auf eine alte Version verweist, in meinem Fall also Java 8, kommt Maven nicht damit klar.

Die Lösung war also ziemlich einfach: Ich habe die Umgebungsvariable JAVA_HOME einfach auf die aktuelle Java-Installation gesetzt und schon lief das Übersetzen meines Programms ohne Probleme.

Keine Kommentare:

Kommentar veröffentlichen