2010-04-11 20 views
33

Nos estamos mudando a Maven, y entiendo que hay un mundo de extensiones diferentes & extensiones. ¿Cuáles son los mejores que recomiendas para uso general?Los mejores plugins de Maven "de propósito general"

(El plug-in por respuesta por favor)

+4

No veo el sentido de esta pregunta. Los complementos no son para "uso general". Deben realizar tareas específicas, y las tareas que realizan son bastante evidentes en la mayoría de los casos. –

+0

Esta pregunta debería ser al menos CW, es una encuesta (pero creo que no es una pregunta adecuada para SO). –

+0

Tal vez debería llamarse "Plugins Maven más útiles". Algunos de los complementos mencionados como: "ayuda", "dependencia" y "versión" ciertamente pasan ese criterio. –

Respuesta

1

Típicamente, un plugin tiene un propósito específico, es decir, los plugins que va a utilizar dependen de las cosas que le gustaría TODO. Por ejemplo, si desea especificar la versión de origen, use maven-compiler-plugin o maven-javadoc-plugin para generar javadocs. Otros complementos pueden empezar un embarcadero antes de ejecutar sus pruebas de integración, y hay plugins que despliegan su comunicado binario para el servidor de aplicaciones, etc.

Para una visión general, por favor visite el Maven - Available Plugins o el directorio de los plugins en el Maven Central Repository . También hay muchos complementos en Mojo project en Codehaus. El repositorio correspondiente se puede encontrar here.

18

encuentro estos plugins más útiles en mi trabajo del día a día:

  • surefire - para las pruebas unitarias
  • dependency - para el análisis de dependencia de módulos
  • cobertura - para el análisis de la cobertura de prueba de unidad
  • liquibase - para el funcionamiento de las migraciones de bases de datos
  • assembly - para la creación de cantar le tarros ejecutables que contienen todas las dependencias requeridas de una aplicación

Hay mucho más explorar y mucho depende de las necesidades de su proyecto, por supuesto. Y, por supuesto, uno de los complementos más útiles que utilizo son los que yo mismo escribí para algunas necesidades específicas. Esta es una de las características más valiosas de maven: la capacidad de extenderla fácilmente.

+0

Un complemento por respuesta, por favor. – ripper234

+0

¿alguna vez has intentado extender un plugin maven? – Justin

6

Maven Enforcer Plugin que permite controlar que todos los complementos tengan una versión específica o ciertas restricciones medioambientales como la versión Maven, la versión JDK y la familia OS junto con muchas más reglas estándar y reglas creadas por el usuario.

5

El Maven Help Plugin que es obligatorio para depurar un POM:

  • help:effective-pom - a las pantallas del POM efectiva
  • help:active-profiles - a las listas de los perfiles que se encuentran actualmente activo para la construcción.
  • help:evaluate - para evaluar expresiones maven
7

El Maven Dependency Plugin es otro plugin obligatoria para depurar/limpia/entender un POM y cómo conseguir un poco de dependencia (transitivo):

  • dependency:analyze - análisis de las dependencias de este proyecto y determina cuáles son: usados ​​y declarados; usado y no declarado; no utilizado y declarado.
  • dependency:tree - muestra el árbol de dependencias para este proyecto.
+1

Pensé que sabía MUCHO sobre Maven y nunca había oído hablar de la función de análisis ... es increíble ... gracias. – HDave

+0

@HDave De nada. Y me alegro de que te haya gustado. –

11

El Maven Versions Plugin, muy útil para consultar y gestionar versiones de los POM y dependencias:

  • versions:display-dependency-updates - analiza las dependencias de un proyecto y produce un informe de esas dependencias que tienen versiones más recientes disponibles.
  • versions:display-plugin-updates - escanea los complementos de un proyecto y produce un informe de los complementos que tienen versiones más nuevas disponibles.
  • versions:update-child-modules - actualiza la sección principal de los módulos secundarios de un proyecto para que la versión coincida con la versión del proyecto actual. Por ejemplo, si tiene un agregador pom que también es el padre de los proyectos que agrega y los hijos y las versiones principales no se sincronizan, este mojo puede ayudar a corregir las versiones de los módulos secundarios. (Tenga en cuenta que puede necesitar invocar a Maven con la opción -N para ejecutar este objetivo si su proyecto se rompe tan gravemente que no puede compilar debido a la falta de correspondencia de la versión).
  • versions:set - se puede usar para configurar la versión del proyecto desde la línea de comandos.
4

Maven Cargo Plugin para iniciar y detener su contenedor web. También puede usarlo para implementar su aplicación web en un contenedor en ejecución. Lo usamos para la integración y prueba funcional para nuestras aplicaciones web.

5

El Maven FindBugs Plugin es algo que desea para el análisis de código estático. Es muy útil para detectar errores que no están cubiertos por sus pruebas de desarrollador.

+0

Prefiero ejecutar FindBugs como complemento de Eclipse en su lugar - da retroalimentación inmediata en una interfaz de usuario conveniente. –

2

excusa el plugin libro, pero esto es simplemente más fácil de repetir cada plugin :)

Algunos se han tratado aquí, pero esto incluye varios más.

+0

Más fácil, pero menos útil (ya que las personas no pueden votar en los complementos individuales). – ripper234

+0

Debes iniciar sesión para ver el contenido. :-( – husayt

+0

Esta publicación incluye la lista de complementos y enlaces al PDF que no requiere registro: http://brettporter.wordpress.com/2009/09/30/apache-maven-2-effective-implementation- sample-chapter/ –

9

El plugin maven jetty es bastante impresionante, ayuda a que el desarrollo de aplicaciones web sea mucho más fácil. En lugar de empaquetar su aplicación, simplemente puede hacer esto:

mvn jetty:run 

Y su aplicación comienza.

+0

Sí, este es el mejor plugin que he encontrado. –

4

El exec-maven-plugin es extremadamente útil para ejecutar tareas que no están cubiertos por los plugins conocidos.

Tiene dos objetivos, el primero "exec" le permite ejecutar cualquier ejecutable como si lo estuviera ejecutando desde la línea de comandos en cualquier etapa. El segundo objetivo, 'java', te permite ejecutar cualquier clase de Java.

Ahorro de vida cuando tuve que agregar una clase de analizador generada por CUP. No hay un complemento maven de CUP, pero el ejecutor me permitió ejecutar la clase java principal de CUP para generar mi analizador sintáctico.

Se me ocurren varios usos para esto; y, sin embargo, fue bastante difícil de encontrar; su existencia debe plasmarse en la primera página de la documentación del maven.

Cuestiones relacionadas