Maven o Ivy? ¿Cuál es mejor con un sistema ya en producción? Y las otras diferencias? [cerrado]


Sé que esta es una pregunta complicada, pero me gustaría saber cuál es mejor en el caso de un sistema que ya está en producción, con muchos errores y un diseño realmente malo. Un verdadero desastre.

En realidad, estoy preguntando esto porque ya estoy convirtiendo este proyecto a Maven y me estoy enfrentando a UN MONTÓN de problemas. Necesitaba ajustar la estructura de la carpeta, separar un marco terrible hecho en la empresa del proyecto( se convirtió en una jar lib), arreglar un montón de detalles que rompieron el proyecto todo el tiempo, configurar el POM.xml para hacer todo lo que Ant ya estaba haciendo y descubrir las libs que realmente se utilizan en la aplicación como sus versiones (una gran parte de las libs se renombró sin el número de versión y el archivo de manifiesto estaba vacío).

Bueno, fue un verdadero infierno. Me volví loco durante esta tarea y la pregunta que me siguió todo el tiempo fue "¿Y si lo estaba convirtiendo a Ivy? Sería más fácil?".

Nunca trabajé con Ivy, pero como sé que funciona con Ant y es más fácil que Maven adaptar el proyecto. Por otro lado, Maven es mucho más utilizado allover la palabra (Estoy equivocado?) y esto debe tener una razón!

Así que ahí están mis preguntas:

  • Integración con Jenkins / Hudson: Con Ivy es tan fácil como con Maven?
  • Complemento de sonar: La misma pregunta anterior. La integración es fácil de?
  • Plugin para Eclipse: Este es un punto muy débil de Maven. El plugin terrible, pero no conozco los de Hiedra.
  • Deploy process: Una vez que está todo configurado, desplegar y publicar el proyecto con maven es extremadamente fácil. Y con Ivy?
  • Conversion : Bueno, mi experiencia en convertir un proyecto a Maven fue terrible, pero el sistema no ayudó. La opción que tenía era que Maven es increíble para nuevos proyectos, proyectos que trabajan con Maven desde que fue creado, pero no es una buena opción si tener un proyecto grande y desorganizado. ¿Me equivoco?
  • Plugins : Que es UNA GRAN CANTIDAD de plugin para ser configurado en POM.XML. ¿Hay tantas opciones para Ivy?
  • Popularidad : ¿Cuál es más popular? ¿Cuál se usa más y por qué?

Bueno, es esto. ¡Muchas gracias!

Author: Prince, 2013-03-22

1 answers

En primer lugar, lea la comparación Ivy / Maven del sitio web de Ivy. La información clave:

Primero, la diferencia más importante es que no son del todo el mismo tipo de herramientas. Apache Maven es una herramienta de gestión y comprensión de proyectos de software, mientras que Apache Ivy es solo una herramienta de gestión de dependencias, altamente integrada con Apache Ant™, la popular herramienta de gestión de compilación. Así que tal vez una comparación más interesante compararía Apache Ant+Ivy vs Apache Maven. Pero esto va más allá del alcance de esta página que se concentra solo en la gestión de dependencias.

Ivy agrega funcionalidad de administración de dependencias a Ant, así que realmente, la pregunta en términos de qué sistema de compilación usas es:

  • use Hiedra / Hormiga
  • migrar a Maven

Si su compilación ya está usando Ant, Ivy será una transición más fácil ya que sus scripts de compilación no necesitan ser portados a un sistema de compilación diferente.

Si decidir la transición a Maven requerirá más esfuerzo, porque necesita reescribir sus scripts de compilación y Mavenizar todo, así como configurar su administración de dependencias.

También será más fácil portar su configuración de administración de dependencias de Ivy/Ant a Maven si alguna vez decide ir en esa dirección. Así que la gestión de dependencias de Ivy sería un buen escalón para ir a largo plazo a una configuración Maven.

 64
Author: prunge,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-03-22 03:36:16