Quando si esegue comandi comeMaven non può risolvere dipendenza per modulo stesso progetto multi-modulo
mvn dependency:build-classpath
o
mvn exec:java
Maven non riesce a risolvere una dipendenza di uno dei miei moduli su un altro.
[ERRORE] Impossibile eseguire obiettivo sul progetto parser-app: Impossibile risolvere le dipendenze per progetto project_group: A: vaso: 0.1-SNAPSHOT: Impossibile trovare project_group artefatto: B: vaso: 0.1-SNAPSHOT
La struttura del progetto è la seguente:
/pom.xml
/A/pom.xml
/B/pom.xml
Il pom genitore è il seguente:
<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>
<groupId>project_group</groupId>
<artifactId>parent</artifactId>
<packaging>pom</packaging>
<version>0.1-SNAPSHOT</version>
<name>parent</name>
<modules>
<module>A</module>
<module>B</module>
</modules>
Il primo modulo bambino (quello non riuscendo a risolvere la dipendenza):
<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>parent_group</groupId>
<artifactId>parent</artifactId>
<version>0.1-SNAPSHOT</version>
</parent>
<artifactId>A</artifactId>
<packaging>jar</packaging>
<name>A</name>
<dependencies>
<dependency>
<groupId>parent_group</groupId>
<artifactId>B</artifactId>
<version>0.1-SNAPSHOT</version>
</dependency>
Il secondo modulo del bambino (la dipendenza):
<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>parent_group</groupId>
<artifactId>parent</artifactId>
<version>0.1-SNAPSHOT</version>
</parent>
<artifactId>B</artifactId>
<packaging>jar</packaging>
<name>B</name>
provare scambiando la struttura di generazione, voglio dire riscrivere il pom.xml avere B A . Le classi nel modulo A richiedono classi dal modulo B, quindi B deve essere costruita prima –
nessuna modifica, per quanto ne so il reattore dovrebbe risolvere l'ordine dalle dipendenze –
Correggere il reattore dovrebbe gestire l'ordine di costruzione. Non è necessaria alcuna maneggevolezza né deve essere eseguita. – khmarbaise