Ho importato il progetto Maven multimodule e alcune dipendenze transitive non sono state risolte. Questo stesso progetto si basa su Jenkins/Eclipse/Console.IntelliJ 12 - maven multimodule non è in grado di risolvere le dipendenze transitive
Ho provato due import ogni progetto separatamente e anche per importare solo padre pom - entrambi non funzionano.
Ho la seguente struttura: Project A
e Project B
hanno genitore comune ed entrambi sono definiti come moduli in questo genitore. Project A
contiene come dipendenza jackon-jar, Project B
non ce l'ha. Project A
contiene jackson-jar nello scope predefinito: jar è visibile durante la compilazione e i test sono in esecuzione. Ora Project B
importa Project A
e usa anche jackson-jar - ed ecco il problema - jackson-jar non è visibile in Project B
:(Quando lo specifichi esplicitamente in Project B
tutto funziona bene, ma dovrebbe venire automaticamente come dipendenza transitiva da Project A
.. ....
è questo il problema comune c'è soluzione
Ecco alcuni esempi: POM??
principale:
<project ....>
<modelVersion>4.0.0</modelVersion>
<version>1.0-SNAPSHOT</version>
<groupId>miklas.test</groupId>
<artifactId>my-parent</artifactId>
<packaging>pom</packaging>
<modules>
<module>my-project-a</module>
<module>my-project-b</module>
<module>my-project-c</module>
</modules>
</project>
Proje ct-A
<project ....>
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>miklas.test</groupId>
<artifactId>my-parent</artifactId>
<version>1.0-SNAPSHOT</version>
</parent>
<artifactId>my-project-a</artifactId>
<packaging>jar</packaging>
<dependencies>
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-jackson-provider</artifactId>
<version>2.3.4.Final</version>
</dependency>
</dependencies>
</project>
Project-B
<project >
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>miklas.test</groupId>
<artifactId>my-parent</artifactId>
<version>1.0-SNAPSHOT</version>
</parent>
<artifactId>my-project-b</artifactId>
<packaging>jar</packaging>
<dependencies>
<dependency>
<groupId>miklas.test</groupId>
<artifactId>my-project-a</artifactId>
<version>${project.version}</version>
</dependency>
</dependencies>
</project>
Di seguito è riportato anche lo screenshot dal mio vero e proprio progetto - questo sarebbe Project B
da esempio semplificato sopra. Sul lato sinistro possiamo vedere, che resteasy-jackoson-provider
ha 4 barattoli dipendenti, e sul lato destro ci sono solo due. Entrambe le viste stanno mostrando lo stesso progetto:
Ora lo stesso screenshot da Project A
+1 Dettagliata e ben dichiarata domanda – Anonymoose
vedere anche http://stackoverflow.com/a/11467266/32453 (suggerimento disabilitato "import via maven3" help?) – rogerdpack