2009-07-20 12 views
5

Necesito configurar complementos Maven. He descargado los JAR. ¿Puede alguien decirme qué debo hacer a continuación para integrar o configurar los complementos con Maven? ¿Debo copiar los JAR en el directorio padre o necesito editar algún archivo?Integración de plugins de informes de Maven

Los plugins son:

  • java2html
  • JDepend
  • Checkstyle
  • trébol
  • Cobertura
  • EMMA
  • Findbugs
  • JavaNCSS
  • PMD
  • QALab
  • Xradar
  • sonar
+0

No debería necesitar tanto a Emma como a Cobertura, ambas son herramientas de cobertura de código y pueden entrar en conflicto. –

+0

... y tendrás suficiente trabajo manteniendo un maestro feliz sin agregar otro :) – Crowie

Respuesta

0

No es necesario descargar los plugins manualmente. No estoy 100% seguro, pero si usted desea utilizar, por ejemplo, el plugin Checkstyle, es necesario comenzar con la experta en forma de línea de comandos de parámetros Checkstyle

algo como:

mvn checkstyle:checkstyle 

o

mvn checkstyle:check 

edit1: Pero también puede colocar las jarras en el depósito de m2 local con la estructura de carpetas específica para acceder a ellas.

edición2: puedes poner todos tus complementos en tu propio repositorio y luego tienes que decirle a maven (usando el pom) qué repositorios quieres usar. Cada complemento debe describirse en el pom.

1

Sirakov tiene razón; Maven descargará e instalará los complementos automáticamente cuando se usen.

Puede ejecutarlos directamente (para trabajos puntuales) o configurarlos en su pom.xml; esto también le permite configurarlo y configurarlo para que se ejecute automáticamente, por ejemplo, para generar código fuente o informe sobre la cobertura de la prueba. Una gran ventaja de esto es que puede definir un único conjunto de configuraciones de complemento en un pom padre compartido, y reutilizar las mismas configuraciones en todos sus proyectos, al mismo tiempo que puede anular la configuración heredada en cada subproyecto cuando sea necesario: esto es una de las mayores ventajas de usar Maven en proyectos más grandes.

Cada complemento tiene sus propios parámetros de configuración, los estándar están documentados en http://maven.apache.org/plugins/. Otro buen recurso es el libro de O'Reilly Maven, en línea en http://www.sonatype.com/books/maven-book/reference/

Un ejemplo de configuración de Cobertura:

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-pmd-plugin</artifactId> 
    <version>2.3</version> 
    <configuration> 
     <outputDirectory>${project.build.directory}/pmd</outputDirectory> 
     <targetDirectory>${project.build.directory}</targetDirectory> 
     <aggregate>true</aggregate> 
     <!-- CPD minimum tokens to report on (5 to 10 duplicate lines) --> 
     <minimumTokens>100</minimumTokens> 
     <minimumPriority>3</minimumPriority> 
     <!-- Exclude mock classes  --> 
     <excludes> 
     <exclude>**/Mock.*</exclude> 
     <exclude>**/Dummy.*</exclude> 
     <exclude>**/*Mock.java</exclude> 
     <exclude>**/*Dummy.java</exclude> 
     </excludes> 
     <includeTests>true</includeTests> 
     <targetJdk>1.5</targetJdk> 
     <rulesets> 
      <ruleset>pmd_ruleset.xml</ruleset> 
     </rulesets> 
    </configuration> 
</plugin> 
13

Si Maven tiene acceso al repositorio central se descargará la mayoría de los plugins (algunos no están alojados en central, para acceder a los que necesita para definir un repositorio adicional en su pom o configuración). Si las dependencias están configuradas en su POM, Maven intentará descargarlas automáticamente cuando ejecute un objetivo relevante. Para las dependencias que enlistó, este es mvn sitio.

La mayoría de esos frascos que ha enumerado son informes, por lo que debe declararse en la sección deinformes del POM, por ejemplo (me declaro también las versiones para asegurarse de que está recibiendo el plugin esperado) :

<reporting> 
    <plugins> 
    <plugin> 
     <artifactId>maven-checkstyle-plugin</artifactId> 
    </plugin> 
    <plugin> 
     <artifactId>maven-pmd-plugin</artifactId> 
     <configuration> 
     <linkXref>true</linkXref> 
     </configuration> 
    </plugin> 
    <plugin> 
     <groupId>org.codehaus.mojo</groupId> 
     <artifactId>cobertura-maven-plugin</artifactId> 
     <version>2.1</version> 
     <configuration> 
     <formats> 
      <format>html</format> 
      <format>xml</format> 
     </formats> 
     <outputDirectory>target/site/cobertura</outputDirectory> 
     </configuration> 
    </plugin> 
    <plugin> 
     <artifactId>maven-surefire-report-plugin</artifactId> 
     <configuration> 
     <outputDirectory>${basedir}/target/surefire-reports</outputDirectory> 
     </configuration> 
    </plugin> 
    <plugin> 
     <groupId>org.codehaus.mojo</groupId> 
     <artifactId>jdepend-maven-plugin</artifactId> 
    </plugin> 
    <plugin> 
     <groupId>org.codehaus.mojo</groupId> 
     <artifactId>findbugs-maven-plugin</artifactId> 
     <configuration> 
     <xmlOutput>true</xmlOutput> 
     <effort>Max</effort> 
     </configuration> 
    </plugin> 
    </plugins> 
</reporting> 

Algunos antecedentes de modelo de ejecución de plugins de Maven: Cuando se ejecuta sitio mvn, esto es corta la mano para "ejecutar el objetivo sitio de la última versión del plug-in situ", es decir, es equivalente a mvn sitio: sitio, que a su vez es abreviatura de org.apache.maven.plugins MVN: experto in situ-plugin: VERSIÓN: sitio

Maven intentará comunicarse con el repositorio central, determine la versión más reciente desde el experto-metadata.xml, luego descargarlo (y cualquiera de sus dependencias que también faltan) antes de ejecutarlo.

Si estás detrás de un proxy puede aparecer un mensaje de error en el registro de generación de esta manera:

[INFO] The plugin 'org.apache.maven.plugins:maven-site-plugin' does not exist or no valid version could be found 

Para hacer frente a esto, puede declarar la configuración del proxy en su settings.xml Maven (en [MVN_HOME]/conf/settings.xml). Ellos están comentadas por DEFAULT, pero tienen el siguiente aspecto:

<proxy> 
    <id>optional</id> 
    <active>true</active> 
    <protocol>http</protocol> 
    <username>proxyuser</username> 
    <password>proxypass</password> 
    <host>proxy.host.net</host> 
    <port>80</port> 
    <nonProxyHosts>local.net,some.host.com</nonProxyHosts> 
</proxy> 

Cambie el nombre de usuario, la contraseña, el huésped y los valores de puerto con el relevante para su entorno y Maven será capaz de descargar las dependencias necesarias.

Para obtener más información sobre el uso de Maven, consulte el Maven: The Definitive Guide de Sonatype, está en línea y es gratis.

+0

@RichSeller La guía definitiva ya no es un enlace directo (o al menos el que has proporcionado está caído). Pruebe esto: http://www.sonatype.com/resources/books – Crowie

Cuestiones relacionadas