web-dev-qa-db-fra.com

Maven Clean, Mise à jour, Installation et Eclipse Clean, Refresh, Build - un ordre généralement correct?

J'ai quelques projets Eclipse interdépendants. Lorsque j'essaie de créer mon espace de travail, je rencontre plusieurs problèmes. Soi-disant, les problèmes devraient disparaître si je fais Maven nettoyer, mettre à jour, installer et Project nettoyer, actualiser, construire tout (je fais tout dans Eclipse via les menus Exécuter et Projet en conséquence).

Cependant, je suis confus quel devrait être le meilleur ordre pour effectuer ces actions? De plus, quelqu'un peut-il expliquer brièvement ce que chacun d'eux fait pour que je puisse mieux comprendre et donner un sens lorsque je peux en sauter?

Plus précisément: on m'a dit que lancer Maven Clean & Maven Install serait suffisant. Bien que l'installation Maven se termine par 'Build Success', il me reste des erreurs dans l'onglet Problèmes et une méchante erreur «Impossible de trouver ou de charger l'exportation de la classe principale» lors de la tentative d'exécution de certaines classes dans un projet particulier. J'essaie d'exécuter Project Clean plusieurs fois, puis Project Build deux autres fois et les erreurs risquent de ne pas disparaître. On m'a conseillé de présenter Maven Update -> tous les projets et de sélectionner tous les projets> les étapes de rafraîchissement (F5), mais je ne sais pas quand les exécuter (après quoi nettoyer, installer ou construire).

Existe-t-il un ordre "généralement correct" de la manière d'effectuer ces actions? Alors que si je l’effectue et que des erreurs subsistent, il deviendra clair que quelque chose ne va pas dans ma version plutôt que simplement avec les dépendances? J'ai tiré les projets de RTC (outil de collaboration avec une équipe de développement logiciel) et mes collègues ne rencontrent pas ces problèmes. Cependant, je viens de le tirer récemment.

7
alisa

Dans mon cas en particulier, la séquence d’actions suivante a fonctionné: 

  • Projet -> décocher Construire automatiquement
  • [accepter les modifications entrantes] si applicable 
  • Projet -> propre 
  • Exécuter -> Exécuter en tant que -> Maven clean 
  • Exécuter -> Exécuter en tant que -> Installation Maven 
  • Projet -> vérifier la construction automatiquement 
  • si des erreurs apparaissent sur l'onglet Problèmes:
    • sélectionner tous les projets, rafraîchir F5
    • si encore des erreurs:
      • supprimer les erreurs manuellement dans l'onglet Problèmes (il se peut qu'Eclipse n'ait pas mis à jour les dépendances, etc.)
      • sélectionner tous les projets, rafraîchir F5
1
alisa

Premièrement, vous devez comprendre que Maven et Eclipse sont deux choses différentes. Oui, il y a le plugin m2e (qui est maintenant fourni dans Eclipse) qui fait un très bon travail pour la configuration de projets Eclipse basés sur des projets maven. Mais parfois, Eclipse est dérangé (presque toujours à cause de problèmes d'actualisation).

Deuxièmement, vous devrez peut-être en savoir plus sur Les bases du cycle de vie de Maven Build :

Il existe trois cycles de construction intégrés: défaut, propre et site. Le cycle de vie par défaut gère le déploiement de votre projet, le cycle de vie propre gère le nettoyage du projet, tandis que le cycle de vie du site gère la création de la documentation de site de votre projet.

Donc en gros:

  • clean est une phase du cycle de vie propre, supprime votre répertoire cible
  • install est une phase du cycle de vie par défaut, fait beaucoup de choses car déclenche toutes les phases précédentes (génère des sources, compile, exécute des tests, etc.) et finit par mettre vos paquets dans votre répertoire cible et en plaçant le artefacts dans le référentiel local.

Troisièmement, à propos d'Eclipse. Vous n'avez pas à exécuter Build si vous avez coché l'option " Projet -> Construire automatiquement ". Quand Eclipse est foiré, j'ai trouvé qu'exécuter la commande m2e " Maven -> Update project " puis un Refresh, ça suffit. Cette commande régénère certains fichiers du dossier .settings. Dans de rares cas, j'ai dû supprimer moi-même tous les fichiers du dossier .settings, puis exécuter la commande "Mettre à jour le projet".

Conclusion: mvn clean install devrait faire le travail, sinon Eclipse -> Refresh , si ne fonctionne toujours pas Eclipse -> Maven -> Update Project

Je recommande également d'utiliser la dernière version des plug-ins Eclipse et m2e.

11
Pablo Lascano

Une bonne pratique de devonfw.com consiste à séparer et à découpler le maven de ligne de commande et la construction Eclipse. Cela m'a sauvé la vie. Le tour de magie est simple et peut être trouvé ici: https://github.com/devonfw/devon4j/blob/develop/pom.xml#L544

BTW: devonfw a des tonnes de modèles fantastiques à apprendre. C'est juste un sur un million.

0
Jörg