2011-01-12 15 views
11

Estoy intentando crear un sitio de maven básico utilizando el complemento de sitio maven. Así que he añadido esto a mi pom:El sitio de Maven (Maven 3) genera una carpeta de sitio vacía

<reporting> 
    <plugins> 
     <!--JavaDoc setup--> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-javadoc-plugin</artifactId> 
      <version>2.7</version> 
      <configuration> 
       <defaultAuthor>Leon Blakey</defaultAuthor> 
       <defaultVersion>${project.version}</defaultVersion> 
       <links> 
        <link>http://download.oracle.com/javase/6/docs/api</link> 
       </links> 
      </configuration> 
     </plugin> 
    </plugins> 
</reporting> 

y corrió mvn site --errors

[INFO] Error stacktraces are turned on. 
[INFO] Scanning for projects... 
[INFO] 
[INFO] ------------------------------------------------------------------------ 
[INFO] Building pircbotx 1.3-SNAPSHOT 
[INFO] ------------------------------------------------------------------------ 
[INFO] 
[INFO] --- maven-site-plugin:2.0.1:site (default-site) @ pircbotx --- 
[INFO] ------------------------------------------------------------------------ 
[INFO] BUILD SUCCESS 
[INFO] ------------------------------------------------------------------------ 
[INFO] Total time: 2.688s 
[INFO] Finished at: Wed Jan 12 18:08:00 EST 2011 
[INFO] Final Memory: 5M/13M 
[INFO] ------------------------------------------------------------------------ 
W:\programming\pircbot-hg> 

Hmm, extraño que no hay salida. Entonces, cuando reviso el objetivo/sitio, está vacío. Las únicas carpetas son images /, css/y WEB-INF /, llenadas con algunas imágenes genéricas. Sin javadoc y sin sitio.

Esta es reproducible con mvn site:site y mvn org.apache.maven.plugins:maven-site-plugin:2.2:site (aparentemente maven sólo quiere utilizar por defecto 2.0.1)

Cuál es extraño es que puedo volver a maven 2.2.1 y generar con éxito un sitio. Pero cuando uso 3.0.1-RC1 (sucede que viene con Netbeans), falla.

¿Qué estoy haciendo mal que haría que el complemento del sitio fallara en 3.0.1 pero no en 2.2.1?

+0

No es que esto te ayude, pero tuve el mismo problema con 3.0 y pensé que era un error maven. Nunca logré que el sitio se generara. – digitaljoel

+2

Compruebe https://cwiki.apache.org/MAVEN/maven-3x-and-site-plugin.html para ver si eso también ayuda – Raghuram

+0

@ Raghuram en estos días, creo que el enlace que proporcionó sobre Maven 3 y el plugin del sitio es detallado en esta página en su lugar: http://maven.apache.org/plugins/maven-site-plugin/maven-3.html – Crowie

Respuesta

12

Quizás puedas intentar usando Maven Site Plugin 3.x. Puede hacerlo agregando lo siguiente en su pom.xml

<build> 
    ... 
    <plugins> 
     ... 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-site-plugin</artifactId> 
      <version>3.0-beta-3</version> 
     </plugin> 
    </plugins> 
</build> 
+0

Sí, usar el complemento 3.0-beta-3 definitivamente hace que maven realmente funcione, pero me molesta para usar una versión de complemento con -beta en él. – Jesse

+0

¿Se romperá esto si uso Maven 2? Migro entre 2.2.1 y 3.0.1 – TheLQ

+1

@TheLQ. Sí. Esta versión del complemento requiere maven 3 – Raghuram

8

Estaba teniendo el mismo problema. Encontré un blog post sobre el tema.

Citando el blog (el énfasis es mío):

Si usted ha estado utilizando la sección de informes de la pom.xml para generar métricas de calidad de código, javadoc informes, y así sucesivamente, es posible que tenga un poco trabajo por hacer para migrar esta característica a Maven 3. De hecho, las secciones reporting y reportSets han quedado en desuso (no causará un error con Maven 3, simplemente se ignorará), y se han reemplazado por una sección reportPlugins en el bloque de configuración del propio maven-site-plugin.

Haciendo caso omiso de la vieja <reporting> sin ninguna advertencia acerca de ser obsoleto parece un poco grosero, pero de todos modos ...

Por lo que están, básicamente, sólo moviendo sus viejos plugins de informes en la sección de configuración de la nueva maven-site-plugin.

A section of the maven-plugin-site explica que removed of all reporting logic from the core of Maven a "desacoplar el núcleo Maven de Doxia y para permitir que los sistemas de notificación arbitrarias a desarrollar." Tiene sentido.

+0

Sí, por eso se rompió todo y por qué se requiere el Sitio 3 – TheLQ

7

El uso del complemento del sitio (http://maven.apache.org/plugins/maven-site-plugin/) con Maven 3 finalmente parece estar resuelto. Se ha lanzado la versión (no beta) y se ha agregado la capacidad de utilizar la estructura de estilo de versión 2 <reporting> en la declaración pom.xml.

Aunque es (como de costumbre) difícil navegar la documentación sustancial pero no organizada y superpuesta sobre Maven 3 y el plugin del sitio, una página - http://maven.apache.org/plugins/maven-site-plugin/maven-3.html - afirma que el estilo anterior ahora se recomienda sobre el nuevo plugin "plugin to site" "estilo:

Nota: En Maven 3, el nuevo formato no es compatible con la herencia informe de configuración de plugins: ver MSITE-484. Este formato era técnicamente necesario para eliminar la lógica de informes de Maven 3, pero todavía se necesita agregar un nuevo mecanismo de herencia a Maven 3 para que sea tan flexible como el formato antiguo. Por lo tanto, el nuevo formato no está listo para su uso directo por ahora.

La página de ejemplo http://maven.apache.org/plugins/maven-site-plugin/examples/configuring-reports.html para configurar informes no menciona el "nuevo" método de formateo.

No estoy seguro de si se trata de un formulario de "mejores prácticas", pero un ejemplo de sección de informes pom que me funciona con un par de informes adicionales es el siguiente; seleccione sus propios complementos como lo desee.

... 
    <build> 
     <plugins> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-site-plugin</artifactId> 
       <version>3.0</version> 
      </plugin> 
     </plugins> 
    </build> 

    <reporting> 
     <plugins> 

      <!-- Default Site Pages --> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-project-info-reports-plugin</artifactId> 
       <version>2.4</version> 
      </plugin> 

      <!-- Java Documentation --> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-javadoc-plugin</artifactId> 
       <version>2.8</version> 
      </plugin> 

      <!-- Source Code Cross-Reference --> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-jxr-plugin</artifactId> 
       <version>2.3</version> 
      </plugin> 
      ... 
     </plugins> 
    </reporting> 

Como acotación al margen, si utiliza el plugin M2e en Eclipse para editar sus POM, entonces usted puede usar el completado de código en la sección de versión de un plugin para darle una lista de sus versiones actuales. Muy útil.

Cuestiones relacionadas