web-dev-qa-db-ja.com

Maven Update ProjectはEclipseで何をしますか?

Eclipseで「Maven-> Update Project ...」は何をしますか?

enter image description here

102
ashish

Eclipseプロジェクトの設定をpomの設定と同期します。たとえば、出力Javaバージョンなどの重要なプラグイン設定を変更すると、Eclipseがプロジェクトの更新を要求し、その後プロジェクトで構成されたJavaランタイムが要求することがわかります。 Maven pomが示す内容を反映するように変更されました。

それは心に留めておくべき重要なことです:Maven pomはこの種のプロジェクト設定のリードです。設定を変更したい場合は、Eclipseプロジェクトの設定を直接使用せずに、pomを使用してください。または、プロジェクトの更新を行うと、変更内容が元に戻る可能性があります。とにかく、m2Eclipseが挿入するのが好きなビルドパスの除外や、奇妙な展開アセンブリ構成など、とにかく自分で修正しなければならないことがいくつかあります。

85
Gimby

@Gimbyが言ったことに追加するために、Update ProjectはForce Update of Snapshots / Releasesなどのオプションも提供します。これは、最新を探している依存関係がある場合に非常に役立ちます。 (例:[1.0)は1.0。*を見つけます-最新のものは何でも。)

プロジェクトの更新は、IvyのResolveと同義です。参照されているすべての依存関係が存在することを確認し、プロジェクトをクリーンアップしてそれらが正しく含まれていることを確認します。

18
ddavison

ドキュメントを掘り下げることはできませんでしたが、コードを掘り下げることができました。 @Gimbyの答えを補完するために、詳細に進み、ここで関数が何をするのかを調べることができます:

https://github.com/Eclipse/m2e-core/blob/41f5ae34ad2543ef1439b7fd7e0a03b596af8685/org.Eclipse.m2e.core/src/org/Eclipse/m2e/core/internal/project/ProjectConfigurationManager.Java#L365

探す:updateProjectConfiguration0関数。

乾杯、

0
Witold Kaczurba