He visto muchos archivos ivy en los proyectos de compilación de mi aplicación. ¿Qué es Ivy, y su relación con la hormiga?¿Qué es hiedra? y cómo se relaciona con la hormiga?
Respuesta
Ivy es una extensión de la hormiga para la gestión de bibliotecas externas durante el proceso de desarrollo, que le da una forma de agregarlos a la ruta de clases, envolviéndolos en su acumulación de aplicación, etc.
Hay cierta superposición con lo que hace Maven, pero Ivy es mucho más ligero (y no hace tanto).
Ivy compite con las tareas Ant Maven (http://maven.apache.org/ant-tasks/index.html), pero ciertamente no con Maven. –
Para ser justos, no dije que compitió con él, dije que había superposición. – skaffman
Bueno, Ivy es un mecanismo de manejo de dependencias del puerto Ant de Maven, por supuesto hay una especie de "superposición". Pero aún así, no puedes compararlos. –
Ivy es un administrador de dependencias: administra y controla los archivos JAR de los que depende su proyecto. Si no tiene los JAR, será pull them down for you por defecto (desde el repositorio Maven 2), lo que puede facilitar la configuración del proyecto.
Excepto que los repositorios de hiedra/maven más remotos son horriblemente irregulares e incompletos. – skaffman
@skaffman Hechos por favor? –
@Pascal: mi experiencia se alinea con la afirmación de @ skaffman. Por ejemplo, cuando comencé a usar Maven, tuve muchas dificultades para encontrar las versiones "correctas" de J2EE api JAR, y dejé de tratar de encontrar OAIcat. También me he encontrado con problemas con las malas dependencias que requieren soluciones "excluyentes". Sin embargo, para mí los beneficios de las dependencias estilo Maven superan estos problemas. –
Ivy es originalmente un Jayasoft.fr product que en ese momento estaba bajo licencia BSD, sin embargo, el núcleo de la hiedra ha sido siempre la misma: Es una herramienta de gestión de la dependencia .
La relación de Ivy con Ant es que es una extensión Ant en el sentido de que es a través de Ant, sin embargo, realmente no depende de ello (más allá de las partes obvias). Ivy se fusionó en un proyecto Apache bajo Ant como subproyecto a través del proceso de incubación el 11 de octubre de 2007.
La gente tiene la idea errónea de que comparan Ivy con Maven en su conjunto. Sin embargo, eso no funciona, ya que Ivy solo maneja las dependencias de una manera ágil y es muy bueno con una configuración simplista y un amplio soporte automatizado con varios sistemas de compilación, etc. a través de Ant, mientras que Maven realmente es un sistema de compilación en sí mismo. Las opiniones personales pueden diferir y difieren en cuál de ellas hace lo mejor y vale la pena varias búsquedas de Stackoverflow/Google por sí misma.
Creo que estos son puntos importantes y útiles para añadir:
- Ivy se puede utilizar independiente de la línea de comandos sin hormiga. Si su entorno de CI no incluye Ant, no le impedirá usar Ivy. Sí, la integración con Ant es agradable y, de lejos, mejor documentada. Sin embargo, uno podría aplicar la documentación de integración Ant a un uso independiente.
- Ivy no es solo para Java. Mi equipo lo usa con éxito para definir dependencias para un proyecto .NET bastante grande (10 paquetes interdependientes con varias versiones de cada uno en producción con múltiples dependencias ascendentes de terceros). Funciona bastante bien Ojalá la documentación fuera un poco más clara y completa.
- Hay ventajas adicionales que Ivy ofrece para Build Time: upstream y downstream builds triggering.
- 1. ¿Qué es Cordova y cómo se relaciona con PhoneGap?
- 2. ¿Qué es SSL y cómo se relaciona con HTTPS?
- 3. ¿Cómo se integra hiedra con MSbuild
- 4. ¿Qué es "sal" cuando se relaciona con MYSQL sha1?
- 5. ¿Cómo se relaciona con un control System.Windows.Forms.Treeview?
- 6. ¿Cómo se relaciona Capistrano con Rake?
- 7. ¿Cómo se relaciona TDD con la programación extrema?
- 8. ¿Cómo se relaciona Jira con git?
- 9. ¿Cómo se relaciona BI con la minería de datos?
- 10. ¿Qué es el "reino" en la autenticación IIS y cómo se relaciona con los parámetros del certificado SSL?
- 11. ¿Cómo se excluye la dependencia de registro común de primavera con hiedra?
- 12. ¿Cómo se relaciona el quicksort con el caché?
- 13. ¿Se relaciona con un método en WPF?
- 14. Problemas con la hiedra: tarea de publicación
- 15. ¿Cómo se relaciona SIGINT con las otras señales de terminación?
- 16. ¿Qué es un subproceso de CPU y cómo se relaciona con los subprocesos lógicos en el código?
- 17. ¿Cómo se relaciona Angular JS con Google Closure?
- 18. ¿Cómo relaciona ggplot2 grobs con los datos?
- 19. ¿Cómo se mapean los ámbitos mapeados por hiedra?
- 20. ¿Cómo se relaciona una tabla de símbolos con las cadenas estáticas y el alcance?
- 21. ¿Cómo se relaciona la versión de Java de Android con una versión de Java SE?
- 22. ¿Cómo sabe Windows qué versión de Visual Studio se relaciona con un archivo .sln?
- 23. dinámicamente concatenación de archivos XML y XSLT con la hormiga
- 24. Integración continua: ¿cómo relaciona sus compilaciones con requisitos/tareas/errores?
- 25. ¿Con qué se relaciona un vector de C++ en Objective-C?
- 26. ¿Qué es WPF y cómo se compara con WinForms?
- 27. ¿Cómo se relaciona el tamaño de la pila del proceso en Linux con pthread, fork y el ejecutivo?
- 28. ¿Cómo ejecutar XSLT 2.0 con hormiga?
- 29. ¿Cómo se relaciona la palabra clave `primary key` con los índices agrupados en SQL Server?
- 30. ¿Cuál es la utilidad real de la marca y la hormiga?
http://ant.apache.org/ivy/features.html – Bozho