50 votes

Maven 3 - Ça vaut le coup?

La version bêta de Maven 3 est disponible depuis quelques semaines et je souhaite simplement connaître votre opinion sur la liste des fonctionnalités de Maven 3. En effet, pour moi, seules deux fonctionnalités principales ont été ajoutées.

  1. Exécution parallèle du projet dans le cycle de vie de la construction
  2. Cycle de vie personnalisé

Tout le reste semble être une correction de bogue ou une amélioration mineure. Alors qu'est-ce que tu en penses? Maven 3 vaudra-t-il la peine d'attendre?

75voto

Pascal Thivent Points 295221

Ce qui est nouveau dans Maven 3? Voici une petite compilation de ce que vous pouvez trouver sur le net.

  • Compatibilité descendante - Maven 3 est rétrocompatible, ce qui est extrêmement important (surtout pour ceux qui ont connu le Maven 1 à Maven 2 de transition).
  • Versionless les éléments de parent - Maven 3 supprime la nécessité de spécifier la version parent dans les sous-modules. C' est grand (dans Maven 3.1).
  • Mixin - Pour POM composition (Maven 3.1 autant que je sache).
  • XML POM format à l'aide d'attributs - Vous pouvez utiliser des attributs au lieu d'éléments.
  • Polyglotte Maven - Vous pouvez écrire votre POM fichiers maintenant dans différentes langues (je ne suis personnellement pas gêné par le format XML, donc je ne suis pas sûr que je vais utiliser ce que souvent).
  • Points d'extension - Pour décorer le cycle de vie ou des plugins (pour le crochet de comportement au lieu de l'étendre les plugins).
  • Queryable du cycle de vie de Découplage des plans d'exécution et l'exécution.
  • Les changements dans le Plugin-API - Ce qui est plus ciblée, les développeurs de plugins (annotations au lieu de javadoc des balises, des points d'extension, queryable cycle de vie).
  • Mieux erreur et l'intégrité des rapports d'Erreurs sont plus claires et liées à la Maven 3 wiki pour obtenir une explication détaillée. Les utilisateurs pourront profiter de cette.
  • Mercure - réécriture Complète de l'objet de la résolution du système (qui est maintenant un produit dédié) en Fait, Maven 3 utilise l'Éther au lieu de Mercure.
  • Maven Embedder - Ce qui est excellent pour IDEs et des outils de développement (qui peuvent "écouter" le processus de construction).
  • Différentiels de construire soutien - particulièrement utile pour les M2Eclipse (gros gain de performances).
  • Site et les rapports extraits de Maven core - site ne fonctionne pas encore (sera corrigé pour la version finale), les rapports ne (mais vous êtes invités à la faveur de la qualité externe des outils comme Sonar).
  • Maven shell - Une optimisation de l'environnement d'exécution (Maven Shell est génial).

Pour résumer, vous n'êtes pas totalement faux, il n'y a pas que de nombreux changements à la surface (bien que j'apprécie le mieux les rapports d'erreur et ne peux pas attendre pour la version parent éléments de trucs). Mais les changements sous le capot de faire Maven 3 beaucoup plus vite et c'est énorme. Et je m'attends à de grandes innovations pour se produire avec les nouvelles possibilités offertes (encore à venir).

À la fin, l'amélioration de la performance est déjà assez pour le rendre intéressant pour moi (bâtiment en moins de temps est extrêmement précieux) et d'autres choses sont des bonus. Et depuis que je ne suis pas en utilisant le site plugin largement, je suis déjà à l'aide de Maven 3 pour plus de 4 mois sur certains de mes builds et je suis plus que heureux avec elle.

Voir aussi

1voto

khmarbaise Points 28405

L'idée de Maven 3 était de remplacer Maven 2 sans aucun problème ... actuellement, il en existe (site en particulier). Je suggérerais de tester les projets Maven 2 existants avec Maven 3 pour voir si des problèmes surviennent. En interne, le code complet a été refait, etc. pour permettre de nouvelles améliorations. Suppression de certaines parties du noyau (comme la génération de site, etc.).

1voto

maciek Points 11

Non, il n'est pas compatible comme matrice dit. Il ya beaucoup de incompatibilites entre 2 et 3 et il y a la page de pointage comportement. Si vous travaillez sur des projets d'entreprise dans une société, vous pourriez être assuré que vous allez courir dans ces problèmes.

Aussi loin que perfomance eh bien, si vous exécutez l'entreprise construit ce n'est pas 10k-100k code de construire... que diriez-système de 1,5 millions de lignes? C'est plus fréquent dans les entreprises. Si votre logiciel s'appuie 2-4 heures et vous avez encore le besoin d'intégration continue, vous serez à la recherche en parallèle de construction et des tests. Maven 3 est très utile à ce point... mais à ce point, il n'est pas acceptable que l'arbre de résolution/classpath est différente selon l'objectif (de la dépendance:arbre utilise héritage mécanisme régulier construire les buts comptent sur l'Éther). Il rappelle Ivy/Ant des questions quand on ne peut pas compter sur la vérification de classpath avant logiciel de packaging pour les déploiements (vous n'avez pas de local Maven repo dans la production, ne vous? ... mais vous avez encore le besoin d'effectuer des logiciels audits, non?)

0voto

exabrial Points 3305

Ils ont supprimé l'option "-r" et l'ont remplacée par un système extrêmement compliqué.

Maven encourage le copier / coller des pompons. J'espérais qu'ils régleraient cela en 3.0. Ils ont abandonné la fonctionnalité "mixins" jusqu'au Maven 3.1.

Hormis les performances de construction et quelques corrections de bugs mineurs, cela ne vaut vraiment pas la peine.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X