mvn がコマンドプロンプトでは成功するけど、 eclipse では 失敗するときの対応

概要

eclipse mvn うまくいかない 等で調べた人の少しでも参考になれば。

環境構築の際に、手順書通りにやっても、mvn compile が成功しなかったため、格闘しました

eclipse では mvn clean すら通らないが、コマンドプロンプト上で mvn したらうまくいったみたいな場合に参照していただけると幸いです

コマンドプロンプトでの mvn 実行をまだ試していない方や、mac の方にはあまり参考にならないかもです。

結論

結論としては、eclipse で使っている maven をインストールしたときのデフォルトのものから、自分でインストールしてきた apache-maven に変えてあげることで、eclipse 上でもうまくいくようになりました。

maven のインストールは以下のサイト等を参照しました。

qiita 等にもいくつかありますので、調べてみてください。

手順

eclipse 上で 設定 > Maven > インストール から

インストールした maven ファイルを新規に追加(C:\apache-maven-3.6.3等)し、

Maven の起動で使用するインストールの選択

で、先程追加したmaven にチェックを入れ、適用する。

おそらくデフォルトは embedded になっていると思われますが、

embedded と 新規に手動インストールした maven の version が同じでも、失敗する場合があったので、試してみる価値はあるかと思います。

その他に試したこと

その他にもいくつか試したことがあるので、mvn コマンドがうまく行かなかったときの備忘として残して起きます。

settings.xml の見直し

特に会社だと proxy 経由で失敗することが多い様子

eclipse の設定を更新する

・eclipseの 設定 > Maven > ユーザー設定

を開き 設定の更新 -> 適用

・プロジェクトを右クリックし、

Maven > プロジェクトの更新

スナップショット/リリースの更新を強制 にチェックを入れて

更新する

java と mvn のバージョンがあっているか確認する

コマンドプロンプトを開き

mvn -version
java -version
javac -version

をそれぞれ実行する。

実行すると

それぞれの Java version、javac のバージョンが表示されるので

それらが一致していることを確認する。

.m2 repository を削除する

eclipse を閉じたあと、settings.xml を一旦バックアップできるように退避する(.m2 ディレクトリにおいている場合)

その後、.m2 をディレクトリごと削除する

その後、setting.xml を元あった場所にもどし、

再度 eclipse を起動し、実行してみる

maven の参照場所を変えている場合は .m2 が出ない場合もあるので注意

索引の再ビルド

eclipse 上で ウィンドウ > ビューの表示 > その他 > Maven > Maven リポジトリー

でビューを表示する

表示されたリポジトリを右クリックし、索引の再ビルドを実行する