Quicktipp: Maven error: invalid target release 1.12

28. April 2020 Softwaretest von Eric Kubenka

Beim Update von JDK 8 auf JDK 11,12 oder höher müssen bei Verwendung von Maven und des Maven Compiler Plugins die Source und Target Versionen von Java angehoben werden. Dabei gibt es ein kleines Fettnäpfchen, welches viele meiner Kollegen nicht auslassen. Ich erkläre kurz, wie man den unten beschriebenen Fehler korrigiert und das Projekt wieder kompilierbar macht.

$ mvn clean compile

Fatal error compiling: error: invalid target release: 1.12

Die Target und Release Versionen für die verwendete Java und JDK Version, werden über zwei Properties, welche üblicherweise in der pom.xml definiert werden, bestimmt. Bei der Erhöhung dieser Versionen von beispielsweise 1.8 (JDK8) auf JDK 11, tappen viele in das Fettnäpfchen und erhöhen die Version nach dem alten Versionsschema. Dabei werden die Versionen seit JDK 10 ohne das Präfix 1.x definiert.

Folgendes muss von den alten Werten...

<properties>
    <maven.compiler.source>1.8</maven.compiler.source>
    <maven.compiler.target>1.8</maven.compiler.target>
</properties>

...auf die neuen geändert werden.

<properties>
    <maven.compiler.source>12</maven.compiler.source>
    <maven.compiler.target>12</maven.compiler.target>
</properties>

Hier noch eine kurze Übersicht der JDK Versionen und zu verwendenen Property-Werte.

JDK 7: 1.7
JDK 8: 1.8
JDK 9: 1.9
JDK 10: 1.10, 10
JDK 11: 11
JDK 12: 12
JDK 13: 13
JDK 14: 14
...

Zurück