Attualmente sto affrontando il seguente problema con Maven 3 quando sto provando a creare il sito. Apprezzerò il tuo aiuto su questo.POM padre non risolvibile: quando si crea il sito del progetto Maven 3
mvn sito pulito
..........
[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
.............
Prima qui è la configurazione:
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
Il POM genitore:
<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>
Il progetto di aggregazione 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>
Il pom del Progetto 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>
Il pom del Progetto 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>
Ecco la struttura della cartella in cui corro "mvn sito pulito":
./pom.xml (aggregation project)
./projA/pom.xml (Project A)
./projB/pom.xml (Project B)
genitore-pom viene distribuito con successo al repository NEXUS prima dell'esecuzione di mvn clean site
con seguente comando mvn deploy -DaltDeploymentRepository=snapshots::default::http://MyServer:8081/nexus/content/repositories/snapshots
E infine il problema stesso:
Quando corro mvn clean site
subito dopo l'implementazione del sito genitore-pom è stato realizzato correttamente. Se elimino la cartella (con il suo contenuto) "mio" (contiene parent-pom) dal repository locale (~/.m2/repository) e poi provo a creare il sito con mvn clean site
Ricevo l'errore descritto al inizio. In realtà Maven scarica il genitore-pom dal NEXUS. Ho confrontato i file ei file scaricati che sono stati generati dopo la distribuzione e ho capito che ne mancano alcuni, ad esempio maven-metadata-local.xml vicino alla cartella "0.1-SNAPSHOT".
Così, quando sto cercando di eseguire il lavoro di costruzione del sito da Jenkins, ho ricevuto l'errore sopra descritto, perché il genitore-pom non è distribuito dalla macchina su cui gira Jenkins.
Come posso risolvere questo problema o cosa ho sbagliato?
Grazie.
Rimuoverei la voce relativaPath dei moduli, perché è vuota quindi non è necessaria. Puoi migliorare l'immagine con la struttura delle cartelle dove si trova il tuo padre genitore e perché il pom principale e il pom di aggregazione sono diversi? – khmarbaise
So che è possibile avere diversi aggregator e pa affitto, ma non rende la vita più facile. – khmarbaise