Javaコンパイラレベルが、インストールされているJavaプロジェクトファセットのバージョンと一致しません


203

JREバージョンが1.6に設定されているEclipse Heliosバージョンで新しい動的プロジェクトを作成しました。「構成」 →「Mavenプロジェクトに変換」をクリックして、WebアプリケーションにMaven機能を追加しました。

これを追加した後、Eclipseの問題ビューにビルドエラーが表示されました。

Java compiler level does not match the version of the installed Java project facet.
Unknown Faceted Project Problem (Java Version Mismatch)

このエラーの解決方法を教えてください(私のJREバージョンを1.6のみにしたい)。


Bigleftieの回答は、Maven以外のプロジェクトに役立ちました。
ジャックメイソン

日食ユーザーは、このjournaldev.com/3334/…
Ahmad Nadeem

回答:


167

Eclipseでm2eプラグインを使用していると仮定すると、sourceおよびのtargetバージョンを1.6として指定する必要がありますmaven-compiler-plugin。m2eはこれらの値を使用して、プロジェクトのJavaコンパイラレベルを決定します。POMのスニペットを以下に示します。

<build>
  <plugins>
    <plugin>
      <artifactId>maven-compiler-plugin</artifactId>
        <configuration>
          <source>1.6</source>
          <target>1.6</target>
        </configuration>
    </plugin>
  </plugins>
</build>

または、maven.compiler.sourcemaven.compiler.targetプロパティを1.6の値で指定することもできます。

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

60
それを行うことができます:-プロジェクトを右クリックします-プロパティをクリックします-左側のメニューの[プロジェクトファセット]オプションをクリックします-右側の[ファセット]セクションの下にある[Java]を[1.6]、[1.7]またはバージョン... - [OK]をクリックします
チアゴ・ペレイラ

3
@ThiagoPereira別のワークスペースに再インポートすると、これらの変更が失われます。m2eの仕組みを学びます。
Vineet Reynolds、2015

日食ユーザーは、journaldev.com / 3334 /…
Ahmad Nadeem

401

プロジェクトがMavenプロジェクトでない場合は、プロジェクトを右クリックして[プロパティ]を選択し、[プロジェクトプロパティ]ダイアログを開きます。

左側にProject Facetsアイテムがあります。それを選択し、リストからJavaファセットを探し、プロジェクトに使用するバージョンを選択して適用します。

プロジェクトファクト-Javaバージョン


19
Project Facet-> Javaは、maven-compiler-pluginアーティファクトのソースとターゲットのpom.xmlにあるものと一致する必要があります。
Arye Rosenstein、2012年

4
この問題の根本的な原因は、@ VineetReynoldsによって提供された答えであるはずです
Jerry Tian

4
私はこの問題を抱えており、それはMavenの問題のように聞こえますが、Mavenを使用していません。POMファイルがなく、Mavenプラグインがあるかどうかさえわかりません。しかし、これと同じエラーが発生します。私の日食はjava 1.7を使用するように設定されていますが、私のプロジェクトのファセットページでは1.6しか選択できません。何が悪いのですか?
rjcarr 2013年

7
4つが一致する必要があります。1)プロジェクト-> Javaビルドパス->ライブラリ-> JREバージョン2)プロジェクト-> Javaコンパイラ->コンパイラコンプライアンスレベル3)プロジェクト->プロジェクトファセット-> Java->バージョン4)(Mavenを使用している場合) )pom.xml-maven-compiler-pluginアーティファクトのソースとターゲット
bigleftie

1
@TKゴスポディノフの答えは2番目です。私のpomはJavaバージョンで最新でしたが、プロジェクトのファセットが原因でした。
Soman Dubey

18

TK Gospodinovの答えは、mavenプロジェクトでも正しいです。注意:私はMavenを使用します。pomは正しく、まだこの問題が発生しました。「Project Facets」に行って、実際に1.6を指しているJava選択を削除しましたが、私のプロジェクトは1.7を使用しています。「実行時間」タブの右側で、jdk1.7オプションを確認する必要がありました。「適用」を押しても左側には何も表示されません。この問題は解消されましたが、それでも、この回答が特定の「プロジェクトファセット」に関連する問題にとって重要であると私はまだ考えています。[Project Facets]に戻って[OK]をクリックすると、Javaがバージョン1.7として表示されるので、それを選択してプロジェクトがJavaプロジェクトとして「マーク」されていることを確認できます。また、プロジェクトを右クリックして[Maven | Update Project]を選択する必要がありました。


6

プロジェクトのプロパティのProject FacetプロパティでJavaバージョンを設定してこの問題を解決しました。プロジェクトのルートフォルダーを右クリックして、[プロパティ]をクリックし、Project Facetsを検索して、互換性のあるJavaバージョンを選択します。

参考のため -

ここに画像の説明を入力してください


5

私は内部の設定workspace/project/.setting/org.eclipse.wst.common.project.facet.coreを次のように変更しました:

installed facet="jst.web" version="2.5"
installed facet="jst.java" version="1.7"

設定を変更する前に、プロジェクトをIDEから削除します。これでうまくいきました。


日食からプロジェクトを削除し、再インポートして問題を修正しました。
Mohammad Faisal

5

私はでそれを解決しMYPROJECT ---> javaのリソース ----> ライブラリ - > J REシステムライブラリ[javaの-1.6]その「に、この外出先でクリックしプロパティ」を選択し、「クラスパスコンテナ」を変更する実行環境を Java対応に1.8(jdk1.8.0-35)(最新

jdkを最新に変更する


4

Project Facet-> Javaは、mam-compiler-pluginアーティファクトのソースとターゲットのpom.xmlにあるものと一致する必要があります。 Porject-Facetsの設定:Eclispe-> Preferences-> Java-> Compiler



3

プロジェクトを右クリックし、プロパティを選択します。左からJavaコンパイラーをクリックし、必要なバージョンに変更します。


2

Eclipseでプロジェクトを右クリックし、[Maven]> [Update projetc]に移動します。待つとエラーが消えます。これは、このプロジェクトのJavaのバージョンがすでに正しく構成されています。

ここに画像の説明を入力してください


1

日食を使用している場合、

under.settingsでorg.eclipse.wst.common.project.facet.core.xmlをクリックします

<?xml version="1.0" encoding="UTF-8"?>
<faceted-project>
  <installed facet="java" version="1.7"/>
</faceted-project>

バージョンを正しいバージョンに変更します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.