¿Por qué Apache Foundation lanza dos herramientas de compilación (Ant y Maven)? [cerrado]

Tengo experiencia con Ant pero no con Maven.
Mi pregunta es: ¿Por qué Apache Foundation lanza dos herramientas de compilación (Ant y Maven)?

  1. ¿Por qué no se puede actualizar la misma herramienta Ant a Maven?
  2. ¿Cuál es el beneficio de usar Maven sobre Ant o viceversa?
  3. ¿Qué hizo para construir Maven cuando Ant funciona como herramienta de construcción?

preguntado el 22 de mayo de 12 a las 16:05

@downvoters dan la razón detrás de la votación negativa -

Razón por la que se votó el cierre de la pregunta: "Esta pregunta no se ajusta bien a nuestro formato de preguntas y respuestas. Esperamos que las respuestas generalmente involucren hechos, referencias o experiencia específica; es probable que esta pregunta solicite opinión, debate, argumentos, encuestas o discusión". -

3 Respuestas

Apache no es realmente un "proveedor", es una fundación que aloja y apoya proyectos de código abierto que (en muchos casos) otras personas/grupos les donan.

El primer lanzamiento de Ant fue en el año 2000, por lo que es una herramienta bastante antigua. Maven fue un intento de manejar la construcción de un proyecto de diferentes maneras. No tiene ningún sentido desmantelar Ant, ya que todavía tiene mucho valor.

contestado el 22 de mayo de 12 a las 16:05

El hecho de que algo funcione no significa que no se pueda mejorar. ANT en sí fue construido como una alternativa java pura a MAKE. Ver que es ANT por la filosofía detrás de ANT. también mira que es maven para los equipos Maven asumen cuáles son los objetivos de maven.

Personalmente, saco mucho valor de las capacidades de gestión de dependencias de maven.

contestado el 22 de mayo de 12 a las 16:05

La mejor herramienta de construcción es la que escribes tú mismo. El proceso de construcción de cada proyecto es único y, a menudo, los proyectos individuales deben construirse de varias maneras diferentes.
Si no desea escribir su propia herramienta de compilación, debe usar: Ant o Maven
Ant es una herramienta de construcción; Maven es un sistema de construcción:

Lo que esto significa es que con Maven, no necesita decidir el diseño de su directorio, los objetivos de compilación, el esquema de versiones, la administración de dependencias, etc. Todo esto está diseñado para usted. También significa que trabajará un poco en contra de la herramienta si no le gusta el valor predeterminado.

Los beneficios son que la mayoría de las herramientas comunes que desea incorporar a su sistema de compilación (CheckStyle, FindBugs, Unit Testing, Unit Coverage, JDepened...) están disponibles sin ningún trabajo de desarrollo adicional. Además, hay un marco bien definido para ampliar el sistema de compilación mediante la creación de complementos (por cierto, usar Ant para crear complementos es trivialmente fácil). Además, existe una buena integración con los IDE para que los desarrolladores utilicen la misma información de compilación que el sistema de compilación automática.

La compensación es que, a menos que comience desde cero, probablemente necesitará refactorizar su código fuente para estar en línea con lo que espera Maven. La compensación por no tener que construir todo desde cero es que a veces pasas tiempo descubriendo cómo persuadir a Maven para que haga lo que quieres, cómo quieres que lo haga.

contestado el 22 de mayo de 12 a las 17:05

"La mejor herramienta de compilación es la que escribes tú mismo".... ¿En serio? No quiero ser insultante, pero ya hay demasiadas herramientas de compilación para Java :-) - Mark O'Connor

@ MarkO'Connor Ser por respeto no es el punto aquí. Algunas personas nacen con estos superpoderes y pueden hacer un esfuerzo mínimo para expresar sus ideas. - Cabeza de jengibre

@MarkO'Connor Es bueno saberlo ;-) - Cabeza de jengibre

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.