Soy nuevo en Maven, vengo del mundo Ant.
¿Es posible enumerar todos los objetivos posibles (incluidos, por ejemplo, todos los complementos) que puede ejecutar?
Puedo ver que solía haber una -g
bandera en Maven 1, pero esto no está disponible en la versión 2.
Respuestas:
El objetivo que indica en la línea de comando está vinculado al ciclo de vida de Maven. Por ejemplo, el
build
ciclo de vida (también tiene ciclos de vidaclean
ysite
que son diferentes) se compone de las siguientes fases:validate
: validar que el proyecto sea correcto y que toda la información necesaria esté disponible.compile
: compila el código fuente del proyecto.test
: pruebe el código fuente compilado utilizando un marco de prueba unitario adecuado. Estas pruebas no deberían requerir que el código esté empaquetado o implementado.package
: tomar el código compilado y empaquetarlo en su formato distribuible, como un JAR.integration-test
: procese e implemente el paquete si es necesario en un entorno donde se puedan ejecutar pruebas de integración.verify
: ejecute cualquier verificación para verificar que el paquete sea válido y cumpla con los criterios de calidadinstall
: instala el paquete en el repositorio local, para usarlo como dependencia en otros proyectos localmente.deploy
: hecho en un entorno de integración o lanzamiento, copia el paquete final en el repositorio remoto para compartirlo con otros desarrolladores y proyectos.Puede encontrar la lista de complementos "principales" aquí , pero hay muchos otros complementos, como los de codehaus, aquí .
fuente
Maven no tiene nada incorporado para eso, aunque la lista de fases es finita (la lista de objetivos de complementos no lo es, ya que la lista de complementos no lo es).
Pero puede facilitar las cosas y aprovechar el poder de la finalización de bash (usando cygwin si está en Windows) como se describe en la Guía para la finalización automática de Maven 2.x usando BASH (pero antes de elegir el script de esta guía, lea más ).
Para que todo funcione, primero siga esta guía para configurar la finalización de bash en su computadora. Entonces, es hora de obtener un guión para Maven2 y:
maven
Ubuntu) que puede descargar desde HEAD. Es simplemente el mejor .A continuación, esto es lo que obtengo solo para ilustrar el resultado:
Por supuesto, nunca examino las 377 posibilidades, uso la finalización. Pero esto le da una idea sobre el tamaño de "una" lista :)
Recursos
fuente
Maven Shell
herramienta proporciona una finalización automática que podría ser útil aquí?mvnsh
no proporciona finalización (al menos no en la versión que tengo en mi máquina). Lo verifiqué antes de responder :)Si usa IntelliJ IDEA, puede explorar todos los objetivos / tareas de maven (incluidos los complementos) en la
Maven Projects
pestaña:fuente
Hagámoslo muy simple:
Ciclos de vida de Maven: 1. Limpiar 2. Predeterminado (compilación) 3. Sitio
Fases de Maven del ciclo de vida predeterminado: 1. Validar 2. Compilar 3. Probar 4. Empaquetar 5. Verificar 6. Instalar 7. Implementar
Nota: No mezcle ni se confunda con los objetivos de maven con el ciclo de vida de maven.
Consulte los conceptos básicos del ciclo de vida de compilación de Maven 1
fuente
Un ciclo de vida de construcción se compone de fases
Cada uno de estos ciclos de vida de compilación se define mediante una lista diferente de fases de compilación, en la que una fase de compilación representa una etapa del ciclo de vida.
Por ejemplo, el ciclo de vida predeterminado consta de las siguientes fases (para obtener una lista completa de las fases del ciclo de vida, consulte la Referencia del ciclo de vida):
Estas fases del ciclo de vida (más las otras fases del ciclo de vida que no se muestran aquí) se ejecutan secuencialmente para completar el ciclo de vida predeterminado. Dadas las fases del ciclo de vida anteriores, esto significa que cuando se usa el ciclo de vida predeterminado, Maven primero validará el proyecto, luego intentará compilar las fuentes, ejecutarlas contra las pruebas, empaquetar los binarios (por ejemplo, jar), ejecutar pruebas de integración contra eso paquete, verifique las pruebas de integración, instale el paquete verificado en el repositorio local y luego implemente el paquete instalado en un repositorio remoto.
Fuente: https://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html
fuente