Eclipse/Maven Web プロジェクトがあります。JSF2 をサポートするようにファセットを更新しようとしています。しかし、動的 Web モジュールを 3.0 (または 2.5) に更新することはできません。これは、Eclipse が Java 1.6 を使用していることを認識しないためです。ファセット プロパティに Java 1.6 が表示されますが、動的 Web モジュールを 2.5 または 3.0 に変更しようとするたびに、Java 1.6 が選択されていても Java 1.6 を使用する必要があると表示されます。どうすればこれを解決できますか?
4 に答える
ここで Maven がどのように役割を果たすかはわかりませんが、それを無視して、代わりに.settings/org.eclipse.wst.common.project.facet.core.xml
ファイルを編集してプロジェクトのファセットを変更することもできます。(プロジェクト エクスプローラーではなく)ナビゲータービューで参照すると、ファイルを見つけることができます。動的 Web プロジェクト ファセット バージョンを 3.0 に設定するには、次のエントリを編集します (不明なバージョンで、 で表されます) 。...
<installed facet="jst.web" version="..."/>
に
<installed facet="jst.web" version="3.0"/>
それでも具体的な問題が解決しない場合は、Maven プラグインによってファセットのバージョンが apom.xml
かそこらに基づいて強制されている可能性があります。
同じ問題があり、私のmaven/eclipseプロジェクトの.projectファイルを見ました。まず、Project ファセットのプロジェクト設定ページで、Project を Java プロジェクトにする必要があることがわかりました。
残念ながら、現時点では、Eclipse Java EEツールはモジュールファセット(ear、ejb、webなど)の仕様バージョンの変更をサポートしていません。BalusCが説明したように、メタデータファイルを直接編集し、他のソース互換性の問題を修正することができます。または、適切な仕様バージョンで新しいプロジェクトを作成し、そのプロジェクトにソースをコピーすることもできます。
私のように、動的 Web プロジェクトだけがこの問題を抱えていることがわかった場合は、デプロイ先のサーバーが目的の JRE バージョン用に構成されているかどうかを確認してください。(グローバル設定 -> サーバー -> ランタイム環境; 次に、問題のサーバー ランタイム環境を編集します。)
BalusC と Konstantin によって提案されているように、Eclipse の設定を手動で編集する必要がある場合もあります。その場合は、Eclipse を再起動した後、ファセット設定ペインを再度開き、[OK] または [適用] をクリックします。これにより、Eclipse が新しい設定をチェックできるようになります。