site - POM principal no resoluble: al construir el sitio del proyecto Maven 3
maven-project-info-reports-plugin (3)
Como lo señala esta respuesta , hay un error en el complemento del sitio, que solo busca dependencias en lo que cree que es la central de Maven.
Estoy teniendo el mismo problema en Maven 3.0.4 y en site-plugin 3.3. También tengo el problema de que funciona en mi máquina de desarrollo que ejecuta Windows 7, pero no en el servidor CI que ejecuta Jenkins en Debian.
Actualmente estoy enfrentando el siguiente problema con Maven 3 cuando estoy tratando de construir el sitio. Apreciaré su ayuda en esto.
mvn sitio limpio
..........
[INFO] Reactor Summary:
[INFO]
[INFO] Project A ......................................... SUCCESS [15.383s]
[INFO] Project B ......................................... SUCCESS [2.232s]
[INFO] My Site ........................................... FAILURE [0.105s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 24.769s
[INFO] Finished at: Fri Jun 29 14:26:04 AMT 2012
[INFO] Final Memory: 18M/150M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-site-plugin:3.1:site (default-site) on project site: SiteToolException: Unable to read local module-POM: 1 problem was encountered while building the effective model for my.com:projA:0.1-SNAPSHOT
[ERROR] [FATAL] Non-resolvable parent POM: Could not find artifact my.com:parent-pom:pom:0.1-SNAPSHOT and ''parent.relativePath'' points at no local POM @ line 12, column 13
[ERROR] for project my.com:projA:0.1-SNAPSHOT
.............
Primero aquí está la configuración:
Apache Maven 3.0.4 (r1232337; 2012-01-17 12:44:56+0400)
Java version: 1.7.0_04, vendor: Oracle Corporation
Default locale: en_US, platform encoding: UTF-8
OS name: "mac os x", version: "10.7.4", arch: "x86_64", family: "mac"
Nexus repository: 2.0.6
El padre POM:
<modelVersion>4.0.0</modelVersion>
<name>Parent POM</name>
<groupId>my.com</groupId>
<artifactId>parent-pom</artifactId>
<version>0.1-SNAPSHOT</version>
<packaging>pom</packaging>
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-site-plugin</artifactId>
<version>3.1</version>
<configuration>
<reportPlugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-project-info-reports-plugin</artifactId>
<version>2.4</version>
</plugin>
</reportPlugins>
</configuration>
</plugin>
</plugins>
</pluginManagement>
</build>
El proyecto de agregación pom:
<modelVersion>4.0.0</modelVersion>
<name>My Site</name>
<groupId>my.com</groupId>
<artifactId>site</artifactId>
<version>0.1-SNAPSHOT</version>
<packaging>pom</packaging>
<parent>
<groupId>my.com</groupId>
<artifactId>parent-pom</artifactId>
<version>0.1-SNAPSHOT</version>
<relativePath/>
</parent>
<modules>
<module>projA</module>
<module>projB</module>
</modules>
El pom del Proyecto A:
<modelVersion>4.0.0</modelVersion>
<name>Project A</name>
<groupId>my.com</groupId>
<artifactId>projA</artifactId>
<version>0.1-SNAPSHOT</version>
<parent>
<groupId>my.com</groupId>
<artifactId>parent-pom</artifactId>
<version>0.1-SNAPSHOT</version>
<relativePath/>
</parent>
El pom del Proyecto B:
4.0.0
<name>Project B</name>
<groupId>my.com</groupId>
<artifactId>projB</artifactId>
<version>0.1-SNAPSHOT</version>
<parent>
<groupId>my.com</groupId>
<artifactId>parent-pom</artifactId>
<version>0.1-SNAPSHOT</version>
<relativePath/>
</parent>
Aquí está la estructura de la carpeta donde ejecuto "mvn clean site":
./pom.xml (aggregation project)
./projA/pom.xml (Project A)
./projB/pom.xml (Project B)
parent-pom se implementa con éxito en el repositorio NEXUS antes de la ejecución del mvn clean site
con el siguiente comando mvn deploy -DaltDeploymentRepository=snapshots::default::http://MyServer:8081/nexus/content/repositories/snapshots
Y finalmente el problema en sí:
Cuando ejecuto mvn clean site
justo después de que el despliegue del sitio parent-pom se construya con éxito. Si elimino la carpeta (con su contenido) "my" (contiene el pom principal) del repositorio local (~ / .m2 / repository) y luego intento construir el sitio con el sitio mvn clean site
el error descrito al principio. En realidad, Maven descarga el pom padre del NEXUS. He comparado los archivos descargados y los archivos generados después del despliegue y me he dado cuenta de que faltan algunos, por ejemplo, maven-metadata-local.xml cerca de la carpeta "0.1-SNAPSHOT".
Entonces, cuando intento ejecutar el trabajo de creación de sitios de Jenkins, aparece el error descrito anteriormente, porque el pom principal no se implementa desde la máquina donde se ejecuta Jenkins.
¿Cómo se me ocurre este problema o qué hice mal?
Gracias.
El problema no está en tus archivos pom. Cuando construí su Pom de agregación, Maven descargó normalmente el pom principal desde el repositorio remoto (después de que lo eliminé de mi repositorio local).
Prueba esto:
mvn -U clean install site dependency:purge-local-repository
Además, podrías hacer algo de limpieza:
- eliminar
<relativePath/>
de todos ellos - elimine
<version>0.1-SNAPSHOT</version>
y<groupId>my.com</groupId>
de projA y ProjB (se heredan de la matriz)
Tengo el mismo problema ... funciona en mi MacBook de desarrollador, pero falla en mi Jenkins que se ejecuta en RHEL7 cuando se ejecuta el mvn site
usando el mvn site
maven-site-plugin:3.7
. No probé para degradar el plugin del sitio.
Encontré otra solución. El problema en mi caso fue el maven-project-info-reports-plugin
especialmente el de las dependencies
objetivos. Si me salto el objetivo con -Dmpir.skip=true
, se generó mi sitio (sin las dependencias :( informe).