Voglio dividere il mio lavoro di integrazione continuo (Hudson) in due passaggi. (Poiché il runtime con build e reporting richiede troppo tempo.) Nel primo processo, ho creato il mio progetto Maven multi modulo con "pacchetto mvn". Quindi copio il mio spazio di lavoro in un'altra posizione e provo a ricostruire il progetto solo con l'obiettivo "sito" e/o findbugs/checkstyle/pmd per creare report. Ma questo non funziona! Maven non può risolvere una dipendenza dei miei sottomoduli. (Ma tutti i JAR sono disponibili nelle cartelle di destinazione.)Il sito Maven sul progetto multi-modulo non è in grado di risolvere la dipendenza
Esempio: La mia struttura simile a questa:
- Parent
- Un
- B
- C
- D
Progetto C ha come progetto la dipendenza B.
Quando costruisco tutto con "sito mvn", si genera per il progetto A e B tutti i rapporti. Ma si è fermato al progetto C con il messaggio di errore "Impossibile risolvere le dipendenze per il progetto B." Ma il progetto B è già stato creato con "pacchetto mvn". Cioè Posso trovare il file JAR del progetto B nella sua cartella di destinazione.
Esiste un modo per risolvere la dipendenza dal sottomodulo B senza "mvn install"? (non voglio fare questo sul mio server CI temo che potrebbe essere pericoloso per altri lavori con lo stesso codice di base..)
Aggiornamento 08/20/12:
POM della radice cartella:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<name>Foo</name>
<groupId>foo</groupId>
<artifactId>bar</artifactId>
<version>1.0</version>
<packaging>pom</packaging>
<modules>
<module>parent</module>
</modules>
</project>
Parent POM:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<name>Foo</name>
<groupId>foo</groupId>
<artifactId>parent</artifactId>
<version>1.0</version>
<packaging>pom</packaging>
<modules>
<module>../bar-a</module>
<module>../bar-b</module>
<module>../bar-c</module>
<module>../bar-d</module>
</modules>
[...]
<reporting>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>findbugs-maven-plugin</artifactId>
<version>2.5.1</version>
[...]
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-pmd-plugin</artifactId>
<version>2.7.1</version>
[...]
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
<version>2.9.1</version>
[...]
</plugin>
</plugins>
</reporting>
</project>
POM di B :
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>foo</groupId>
<artifactId>parent</artifactId>
<version>1.0</version>
<relativePath>../parent</relativePath>
</parent>
<name>Bar B</name>
<artifactId>bar-b</artifactId>
<version>1.0</version>
<packaging>jar</packaging>
[...]
</project>
POM di C:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>foo</groupId>
<artifactId>parent</artifactId>
<version>1.0</version>
<relativePath>../parent</relativePath>
</parent>
<name>Bar C</name>
<artifactId>bar-c</artifactId>
<packaging>jar</packaging>
[...]
<dependencies>
<dependency>
<groupId>foo</groupId>
<artifactId>bar-b</artifactId>
<version>1.0</version>
</dependency>
</dependencies>
[...]
</project>
Senza pom's è difficile indovinare ... ma sembra che una dipendenza/modulo non sia configurato correttamente. Il sito mvn clean dovrebbe funzionare senza errori. – khmarbaise
Un pacchetto mvn clean viene eseguito anche senza errori? – khmarbaise
Sì. "Il pacchetto mvn clean" funziona senza errori. "mvn clean site" non. Carico uno snippet di codice in seguito. – user1606528