Eclipse Indigo : M2Eclipse

Si vous faite du java, vous devez connaitre Eclipse, si vous suivez les news de la communauté Java, vous devez aussi savoir qu’il y a une semaine sortait Eclipse Indigo (3.7 pour les amateurs de chiffres).

Je ne vous parlerai pas de toutes les nouveautés d’Indigo, parmi lesquelles on retrouve l’intégration de EGit (et surtout sa version 1.0), mais d’une qui a retenu mon attention : l’intégration de m2eclipse.

Présentation

m2eclipse est un projet qui est né chez Sonatype et qui se proposait d’apporter une intégration de maven dans Eclipse. L’utilisation de ce plugin lors de ma formation en début de stage chez Excilys m’a plu, malgré quelques bugs, et certains comportements anormaux. Il va de soi qu’avec une stabilité comme celle-ci, le plugin n’avait pas les faveurs de tous au sein de l’entreprise.

Cependant, avec Indigo, je pense que l’équipe m2eclipse a vraiment su améliorer son bébé pour nous offrir une très bonne expérience maven au sein d’Eclipse.

Nouveautés

Premières impressions

Comme principale nouveauté, on trouvera Maven dans l’update site Indigo, il n’est plus nécessaire d’ajouter soi-même l’update site, puisque celui-ci n’est maintenant destiné qu’aux versions d’Eclipse antérieures à Indigo.

Au niveau du fonctionnement, on ne remarque pas vraiment de grande différence au premier abord, mis à part un polissage des interfaces du plugin ; j’ai même cru qu’il n’y avait quasiment rien eu d’ajouté, et je me suis demandé l’intéret de l’intégration au projet eclipse.

Un plugin et des extras faciles d’accès

Mais lors de l’import d’un projet maven, j’ai remarqué quelques petites différences. La première, l’import d’un projet existant dans Eclipse est plus … long. En effet, lorsque l’on choisit le dossier, m2eclipse va parser tous les POM du projet afin de proposer l’installation automatique des extras nécessaires. C’est ainsi que si on importe un projet J2EE, on se voit proposer l’installation de m2e-wtp, le connecteur WTP nécessaire pour deployer et éxécuter un projet J2EE au sein d’Eclipse.

Cette nouveauté est vraiment intéressante car elle permet ainsi d’installer automatiquement toutes les extensions de m2eclipse nécessaire à son bon fonctionnement pour le projet importé.

Autre nouveauté notable, m2eclipse profite de l’Eclipse marketplace pour fournir ses extensions. Ainsi, il est possible d’ajouter à m2eclipse l’import de projets via SCM en installant le support pour Egit, CVS ou Subversive. Et tout cela vraiment facilement.

Une meilleure gestion des projets et des POMs

Enfin, parmi les choses à noter, j’ai beaucoup apprécié les warnings et les errors que fournit m2eclipse pour les POMs, comme par exemple une valeur dupliquée entre un POM parent et son enfant, ou encore une surcharge de version de dépendance… m2eclipse signale également que la configuration des projets n’est pas à jour lorsque c’est la cas. On sait maintenant pourquoi nos dépendances ne sont pas là et ce qu’il faut faire pour les faire revenir.

Conclusion

Pour conclure, je dirai que cette nouvelle version est vraiment très bien faite et stable, je n’ai pas eu un seul souci depuis son installation, elle m’a même aidé à simplifier mes POMs. Je vous recommande donc vivement de passer à Indigo si vous n’utilisez pas de plugins non compatibles et que vous travaillez souvent avec maven.

VN:R_U [1.9.22_1171]
Rating: +1 (from 1 vote)
Share

À propos de Romain Sertelon

Vous pouvez me suivre sur Twitter et sur Google+ et voir mes débuts sur Github
Ce contenu a été publié dans Maven, Outils, avec comme mot(s)-clef(s) , , . Vous pouvez le mettre en favoris avec ce permalien.

2 réponses à Eclipse Indigo : M2Eclipse

  1. Malheureusement, m2e est beaucoup plus restrictif au niveau de la gestion du cycle de vie. Afin d’activer les plugins autres que ceux reconnus en natif par m2e, il faut maintenant les déclarer dans la conf du lifecycle-mapping.
    Et ça ne marche pas forcément bien… Pour ma part, je bloque toujours sur les APT de Hibernate Criteria et de Querydsl : le code est bien généré mais les répertoires de sources ne sont pas ajoutés au classpath.
    A priori, la solution propre consiste à écrire un connecteur dédié. C’est du boulot : à suivre…

    VN:R_U [1.9.22_1171]
    Rating: 0 (from 0 votes)
  2. Ping : Connecteurs m2e | Excilys Labs

Laisser un commentaire