Eclipse + Mavenコンパイルの問題
-
07-07-2019 - |
質問
現在、Eclipseを使用してWebアプリを開発しています。 ビルドはMavenを使用して行われます。 問題は、コンパイル中に不足しているjarが多数あるため、Eclipseで多くのエラーが表示されることです。 Mavenはこれらのjarを取得するため、最終結果は問題ありません。
どのようにして日食がコンパイルに失敗しないようにできますか?
不足しているjarをプロジェクトクラスパスに追加できることはわかっていますが、多くのプロジェクトがあり、各プロジェクトの.classpathファイルはすべての開発者に共通のファイルであるため、探しているものではありません。だから私はそれを変えたくない。
そのため、各プロジェクトのクラスパスを変更せずに、すべてのEclipseプロジェクトに共通のクラスパスを追加する方法はありますか?
解決
m2eclipse を使用しています。 .classpathファイルにクラスパスコンテナーを追加します。このコンテナには、POMを処理し、アーティファクト(および必要に応じてソース)をダウンロードするMavenビルダー(Mavenの性質が有効になっているときに.projectに追加)によってMaven依存関係が設定されます。
Mavenの性質を有効にするには(プラグインがインストールされていると仮定して)、プロジェクトを右クリックして[依存関係管理を有効にする]を選択します。
デフォルトでは、m2eclipseはMavenの埋め込みバージョンを使用して処理を行います。これは通常、別個のローカルリポジトリとボックス上のファイルの複製を意味します。 Window-> Preferences-> Maven-> Installationsで標準のMavenインストールを使用するように設定できます。次に、Mavenインストールへのパスを追加します(通常はM2_HOMEと同じです)。
IAM (以前はQ4Eと呼ばれていました)という別のEclipse用Mavenプラグインがあります。 IAMはEclipse統合プロジェクトであり、いくつかの有望な機能があります-注目する価値があります。
Eclipse Maven統合の比較が、 maven-eclipse-plugin (POMコンテンツからEclipseメタデータファイルを生成する目標)。個人的にはmaven-eclipse-pluginの方が価値があるよりも厄介だと思いますが、目的に合っているかもしれません。SCMにチェックインしていない場合は、初期メタデータを生成するのに便利です。
他のヒント
m2eclipse プラグインをご覧ください。各プロジェクトのPOMを読み取り、すべての依存関係を自動的に取得してクラスパスに追加します。