フリーランス チャレンジ!!

フリーランス チャレンジ!!

週休4日制に俺はなる!

【Eclipse】「Java プロジェクト・ファセットのバージョンと一致しません」エラーの解決方法(番外編:Macのキーボードショートカット付き)

 どうもコウタロウです。

 

今日はタイトルについて。

 

 

Eclipseでファセットのバージョンと一致しませんエラー発生

1、2年前から使っているEclipseでちょっと試したい事があり、プロジェクトのJavaバージョンを1.6->1.8に上げたんですね。

 

すると、こんなエラーが!!

f:id:ksakae1216:20170701091631j:plain

 

Javaプロジェクト・ファセットって?

まずはこれが何なのかわからないのでちょっと調べてみる

 

ファセットは、Java EE プロジェクトの特性および要件を定義し、ランタイム構成の一部として使用されます。

 

プロジェクトにファセットを追加すると、そのプロジェクトは特定のタスクを実行するか、特定の要件を満たすか、または特定の特性を持つように構成されます。例えば、EAR ファセットはデプロイメント記述子を追加し、プロジェクトのクラスパスをセットアップすることにより、プロジェクトをエンタープライズ・アプリケーションとして機能するようにセットアップします。

IBM Knowledge Center

 

あまり情報がなく、唯一IBMのページで上記の情報が。

つまり、Javaプロジェクトの機能や設定を定義してあることらしい

 

原因

ということは、ビルドパスから変えたJavaのバージョン1.8とプロジェクト・ファセットのJavaのバージョンがあっていないことが原因ということです。

 

そこまでわかれば簡単、早速直します。

 

解決方法

まず、念のため、ビルドパスの確認

f:id:ksakae1216:20170701160322j:plain

プロジェクト(上記ハードコピーだとSpringWebProject) を右クリックしてプロパティを選択。

 

そこから「Javaのビルド・パス」、「ライブラリ」を選択するとJavaのバージョンが出ます。(1.8になってますね)

f:id:ksakae1216:20170701160550j:plain

 

次にプロジェクト・ファセットの確認です。

こちらもプロジェクトの右クリックからプロパティを開きます。

ここでは、「プロジェクト・ファセット」を選択

f:id:ksakae1216:20170701161201j:plain

おっ、こっちは1.6ですね。

これがエラーの原因です。

 

1.6の右の方に下矢印があるのでそこをクリックするとJavaバージョンを選択できるので1.8に変更してプロパティ右下にあるOKボタンを押下して下さい。

 

するとコンパイルが走りエラーが解消されます。 

 

番外編(Macでのキーボードショートカット)

私はMac使ってるんですけどキーボードショートカットがeclipseで紹介されているものと違うんですね。

 

eclipseで右クリックすると下記のようにプロパティは「⌘l」ってかいてあるんだけど、実際はoption+Enterなんですね。なんでだろう?

 

下記サイトがしっかり紹介してくれてます。もし、Mac使っててキーボードショートカット困ったら下記サイトを参考にして下さい。

Eclipseショートカットキー Mac & Windows 対応表 - CODESCRIBBLE