Actualmente estoy enfrentando el siguiente problema con Maven 3 cuando intento construir el sitio. Apreciaré tu ayuda en esto.POM original no resoluble: al construir el sitio del proyecto Maven 3
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
.............
En primer lugar aquí es 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 POM padres:
<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 pom proyecto agregación:
<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 de 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 de 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í es la estructura de la carpeta en la que corro "mvn sitio limpio":
./pom.xml (aggregation project)
./projA/pom.xml (Project A)
./projB/pom.xml (Project B)
padre-pom se implementa con éxito al repositorio de NEXUS antes de la ejecución de mvn clean site
con el comando siguiente 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 la implementación del sitio parent-pom se crea correctamente. Si elimino la carpeta (con su contenido) "my" (contiene el parent-pom) del repositorio local (~/.m2/repository) y luego intento construir el sitio con mvn clean site
, aparece el error descrito en el comenzando. En realidad, Maven descarga el parent-pom del NEXUS. He comparado los archivos descargados y los archivos que se han generado después de la implementación y me he dado cuenta de que faltan algunos, por ejemplo maven-metadata-local.xml cerca de la carpeta "0.1-SNAPSHOT".
Así que cuando estoy tratando de ejecutar el trabajo de creación de sitios de Jenkins recibo el error descrito anteriormente, porque el parent-pom no se despliega desde la máquina donde se ejecuta Jenkins.
¿Cómo puedo resolver este problema o lo que hice mal?
Gracias.
Quitaría la entrada relativaPath de sus módulos, porque está vacía por lo que no es necesario. ¿Puede mejorar la imagen con la estructura de carpetas? donde se encuentra su pom padre? Y por qué son el padre pom y el pom de agregación son diferentes? – khmarbaise
Sé que es posible tener diferentes agregador y pa pero hace que la vida no sea más fácil. – khmarbaise