まず第一に、私は この質問 を知っていますが、そこに提供されていない詳細に興味があります。
m2Eclipse のドキュメントを確認したところ、不十分であることがわかりました。私が見つけることができた唯一の関連部分は
あるいは、デフォルトで「process-resources」を実行するように設定されているプロジェクトポップアップメニューから「Maven/Update project configuration」アクションを実行でき、同じ設定ページで変更することもできます。
Update project configuration
がUpdate project
と同じであるかどうかはわかりませんでした。ブラウジング中に見つけた他のすべてのソースも詳細を提供していません。
要約すると、私が知りたいのは:
Update project
はMavenプラグインを実行しますか?実行する場合、どのプラグインをどのデフォルト設定で実行しますか?UpdateプロジェクトはMavenプラグインを実行しますか?実行する場合、どのプラグインをどのデフォルト設定で実行しますか?
更新プロジェクトの間、m2Eclipseはmaven-coreビルドプロジェクトオブジェクトモデルを使用します。具体的には、プロジェクトモデルの構築に maven model builder が使用されます。つまり、依存関係の解決、エラー、警告の通知につながります。結果の詳細については、org.Apache.maven.project.ProjectBuildingResult
を確認してください。
プラグインが実行されるとは思いません。プラグイン処理を行う更新が有効になっていない間、私はざっくりとした外観と フェーズ2 を取りました。
Mavenプラグインの結果ではないがEclipseの内部にある影響はありますか?
はい。回答の最後のセクションをご覧ください。
プロジェクト構造の変更は何ですか?たとえば、Mavenの依存関係はローカルにコピーされますか?
ローカルで言うと、Eclipseワークスペースでは違います。 Mavenの依存関係は、通常は/.m2/repositoryであるローカルリポジトリへの参照を示します。リポジトリは、Eclipseメニューの「Windows-> Preference-> User Settings」の設定に基づいて解決されます。
詳細については、次の ソースコード (Eclipseでプロジェクトを更新するときに呼び出されるメソッドの1つ)から始めることができます。
public IStatus runInWorkspace(IProgressMonitor monitor) {
...... Unimportant stuff
MavenUpdateRequest request = new MavenUpdateRequest(projects, offline,forceUpdateDependencies);
Map<String, IStatus> updateStatus = configurationManager.updateProjectConfiguration(request, updateConfiguration,
cleanProjects, refreshFromLocal, monitor);
...... Unimportant stuff
}
実行されたさまざまなタスクの要約(網羅的ではない)
さらに、このコンテキストではそれほど重要ではない、ワークスペース内の親pomの存在に関するいくつかのことも行います。
プロジェクト構成の更新は主に関連しています
project.build.sourceEncoding
mavenプロパティに基づいて、プロジェクトのデフォルトの文字セットを設定します。