Tout d'abord, je connais cette question , mais je suis intéressé par les détails qui n'y sont pas fournis.
J'ai jeté un œil à la documentation de m2Eclipse et je l'ai trouvée laconique de manière insatisfaisante. La seule partie pertinente que j'ai pu trouver est
Sinon, vous pouvez exécuter l'action "Maven/Mettre à jour la configuration du projet" à partir du menu contextuel du projet, qui est configuré pour exécuter "process-resources" par défaut et il peut également être modifié sur la même page de préférences.
mais je ne pouvais pas faire si Update project configuration
est le même que Update project
. Toutes les autres sources que j'ai trouvées en parcourant ne fournissent pas non plus de détails.
Pour récapituler, ce que j'aimerais savoir, c'est:
Update project
exécuter n'importe quel plugin Maven et, si oui, lesquels et avec quels paramètres par défaut?Le projet Update exécute-t-il un plug-in Maven et, le cas échéant, lesquels et avec quels paramètres par défaut?
Pendant le projet de mise à jour, m2Eclipse utilise le modèle d'objet de projet de construction maven-core. Plus précisément, maven model builder est utilisé pour construire le modèle de projet. En d'autres termes, cela conduit à la résolution des dépendances, aux notifications d'erreur et d'avertissement. Pour plus d'informations sur le résultat, vous pouvez vérifier org.Apache.maven.project.ProjectBuildingResult
Je ne pense pas que cela entraîne l'exécution de plugins. J'ai jeté un coup d'œil rapide et la phase 2 pendant la mise à jour n'est pas activée, ce qui fait le traitement des plugins.
Y a-t-il des effets qui ne sont pas le résultat d'un plugin Maven, mais qui sont internes à Eclipse?
Oui. Voir la dernière section de la réponse.
Quelles sont les modifications sur la structure du projet? Par exemple, les dépendances Maven sont-elles copiées localement?
Si vous voulez dire localement, dans l'espace de travail Eclipse, alors non. Les dépendances Maven indiquent une référence au référentiel local qui est généralement /.m2/repository. Le référentiel est également résolu en fonction du paramètre du menu Eclipse "Windows-> Préférence-> Paramètres utilisateur".
Pour plus d'informations, vous pouvez commencer à partir du code source suivant (l'une des méthodes invoquées lorsque vous mettez à jour le projet dans Eclipse),
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
}
Résumé des différentes tâches effectuées (non exhaustif)
De plus, il fait également des choses avec la présence de pom parent dans l'espace de travail, ce qui n'est pas très important dans ce contexte.
La configuration du projet de mise à jour est principalement liée à
project.build.sourceEncoding
propriété maven.