1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

EclipseでJava compiler level does not match the version of the installed Java project facet.となったときの対応方法

Last updated at Posted at 2019-06-24

事象 : EclipseでプロジェクトのJavaコンパイラーを設定したら怒られた。

Eclipseの[問題]タブに表示されたメッセージ
# 日本語の場合
Java コンパイラー・レベルが、インストールされている Java プロジェクト・ファセットのバージョンと一致しません。
# 英語の場合
Java compiler level does not match the version of the installed Java project facet.

原因 : 「Javaコンパイラー」と「プロジェクト・ファセットのJava」で指定しているJavaのバージョンが違うから

対応 : 「プロジェクト・ファセットのJava」と「Javaコンパイラー」のバージョンを合わせる

  1. [プロジェクト・ファセット] > [Java] > コンパイラに設定したJavaと同じバージョンを設定します。
    image.png

事象 : Javaコンパイラーを設定しても勝手に1.5に戻って怒られる。

  • 環境
    • macOS Big Sur バージョン11.1
    • Eclipse IDE for Enterprise Java Developers Version: 2020-12 M1 (4.18.0 M1)
    • 使いたいのはJava11
  1. [Javaコンパイラー]を「11」に設定する
  2. [プロジェクト・ファセットのJava]を「11」に設定する
  3. Mavenビルドする
  4. 「Java コンパイラー・レベルが、インストールされている Java プロジェクト・ファセットのバージョンと一致しません。」と言われる
  5. [Javaコンパイラー]を確認すると「1.5」に戻っている

原因 : Mavenのコンパイルで使うデフォルトのJDKが1.5だから

デフォルトでは、Maven 2はJDK 1.4を使用し、Maven 3はJDK 1.5を使用してプロジェクトをコンパイルします。
別のJDKバージョンのMavenプロジェクトをコンパイルするには?

対応 : pom.xmlで使うJDKを指定する

参考 : Apache Maven Compiler Plugin – Setting the -source and -target of the Java Compiler

  1. pom.xmlにJDKを設定する
  2. Mavenビルドする
  3. [Javaコンパイラー]が「11」のまま維持された!
pom.xml
<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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
...省略...
  <properties>
    <maven.compiler.source>11</maven.compiler.source>
    <maven.compiler.target>11</maven.compiler.target>
  </properties>
...省略...
1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?