タイトル: Fatal error compiling: 1.Xは無効なターゲット・リリースです
| この記事の要点 |
|---|
|
エラー内容
|
Fatal error compiling: 1.Xは無効なターゲット・リリースです |
Mavenビルド時に出るエラーです。1.X の部分には 1.8 や 1.11 など、pom.xml で指定したJavaバージョンが入ります。実行している JDK が、指定したバージョンに対応していない場合に発生します。
発生条件 / 原因
- pom.xml で指定したJavaバージョンと、実行中のJDKバージョンが不一致(最頻出)
- 例: pom.xml で
1.11を指定しているが、mvnが JDK 1.8 を使っている - JAVA_HOME が古いJDKを指している
- Eclipse/IntelliJ などのIDEに登録されたJDKがプロジェクト要件と異なる
1.11のような表記そのものが誤り(Java 9以降は11、17等で指定)
対処法
1. 現在のJDKバージョンを確認
| $ mvn -version $ java -version $ echo $JAVA_HOME |
mvn -version の出力にある Java version が、ビルドで実際に使われているJDKです。
2. pom.xml の指定を確認
|
<properties> |
または maven-compiler-plugin 内で指定する書き方:
|
<plugin> |
3. JDK のバージョンを揃える
pom.xml を実機のJDKに合わせる、または JDK を pom.xml の要求バージョンに上げる。
| # macOS (Homebrew) $ brew install openjdk@17 # JAVA_HOME を切り替え $ export JAVA_HOME=$(/usr/libexec/java_home -v 17) |
4. バージョン表記を確認
Java 9 以降は 1.11 ではなく 11 で指定します。古い書き方のまま新バージョンを使うとこのエラーになります。
| Java バージョン | 正しい指定 |
|---|---|
| Java 8 | 1.8 |
| Java 11 | 11 |
| Java 17 | 17 |
| Java 21 | 21 |
IDE側の確認
- Eclipse: プロジェクト右クリック → Properties → Java Build Path → Libraries で使用JREを確認
- IntelliJ IDEA: File → Project Structure → Project → SDK
- VSCode:
java.configuration.runtimesでJDKパスを指定