50 votes

Maven ou Ivy ? Lequel est le meilleur avec un système déjà en production ? Et les autres différences ?

Je sais que c'est une question compliquée, mais j'aimerais savoir laquelle est la meilleure dans le cas d'un système qui est déjà en production, avec beaucoup de bogues et une conception vraiment mauvaise du tout. Un vrai gâchis.

En fait, je pose cette question parce que je suis déjà en train de convertir ce projet à Maven et je suis confronté à BEAUCOUP de problèmes. J'ai dû ajuster la structure des dossiers, séparer du projet un terrible framework créé par l'entreprise (il a été converti en lib jar), corriger de nombreux détails qui cassaient le projet en permanence, configurer le POM.xml pour faire tout ce que Ant faisait déjà et découvrir les libs qui sont réellement utilisées dans l'application ainsi que leurs versions (une grande partie des libs a été renommée sans le numéro de version et le fichier manifest était vide).

Eh bien, c'était vraiment un enfer. Je suis devenu fou pendant cette tâche et la question qui me suivait tout le temps était "Et si je le convertissais en Ivy ? Serait-ce plus facile ?".

Je n'ai jamais travaillé avec Ivy, mais comme je le sais, il fonctionne avec Ant et il est plus facile que Maven d'adapter le projet. D'un autre côté, Maven est beaucoup plus utilisé partout dans le monde (est-ce que je me trompe ?) et cela devrait avoir une raison !

Voilà donc mes questions :

  • Intégration avec Jenkins / Hudson : Avec Ivy c'est aussi facile qu'avec Maven ?
  • Plugin Sonar : Même question que ci-dessus. L'intégration c'est simple à ?
  • Plugin pour Eclipse : C'est un point très faible de Maven. Les plugins sont terribles, mais je ne connais pas ceux de Ivy.
  • Processus de déploiement : Une fois que c'est tout configuré, déployer et publier le projet avec maven c'est extrêmement facile. Et avec Ivy ?
  • Conversion : Eh bien, mon expérience de la conversion d'un projet à Maven a été terrible, mais le système n'a pas aidé. L'option que j'avais était que Maven c'est génial pour les nouveaux projets, les projets travaillant avec Maven depuis sa création, mais pas un bon choix si vous avez un gros projet non organisé. Ai-je tort ?
  • Plugins : C'est BEAUCOUP de plugin à configurer dans POM.xml. Y a-t-il tant d'options pour Ivy ?
  • Popularité : Lequel des deux est le plus populaire ? Lequel est le plus utilisé et pourquoi ?

Eh bien, c'est ça. Merci beaucoup !

72voto

prunge Points 8131

Tout d'abord, lisez le Comparaison Ivy / Maven sur le site Web d'Ivy. Les informations clés :

Tout d'abord, la différence la plus importante est qu'il ne s'agit pas du tout du même type d'outils. Apache Maven est un outil de gestion et de compréhension de projets logiciels, alors qu'Apache Ivy n'est qu'un outil de gestion des dépendances, fortement intégré à Apache Ant™, l'outil populaire de gestion des builds. Donc peut-être qu'une comparaison plus intéressante serait de comparer Apache Ant+Ivy vs Apache Maven. Mais cela dépasse le cadre de cette page qui se concentre uniquement sur la gestion des dépendances.

Ivy ajoute la fonctionnalité de gestion des dépendances à Ant, donc en fait, la question en termes de système de construction que vous utilisez est soit :

  • utiliser Ivy/Ant
  • migrer vers Maven

Si votre construction est déjà en utilisant Ant, Ivy sera une transition plus facile puisque vos scripts de construction n'ont pas besoin d'être portés vers un autre système de construction.

Si vous décidez de passer à Maven, cela demandera plus d'efforts, car vous devrez réécrire vos scripts de construction et tout maveniser, ainsi que configurer votre gestion des dépendances.

Il sera également plus facile de porter votre configuration de gestion des dépendances de Ivy/Ant vers Maven si vous décidez un jour d'aller dans cette direction. La gestion des dépendances d'Ivy serait donc un bon tremplin à long terme pour passer à une configuration Maven.

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