2013-01-03 15 views
14

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:

enter image description here

Ora lo stesso screenshot da Project A

enter image description here

+0

+1 Dettagliata e ben dichiarata domanda – Anonymoose

+0

vedere anche http://stackoverflow.com/a/11467266/32453 (suggerimento disabilitato "import via maven3" help?) – rogerdpack

risposta

8

Questo sembra essere un bug in IntelliJ 12. Vedere http://youtrack.jetbrains.com/issue/IDEA-98425 e si prega di votare per il rilascio se è importante per te.

+2

Questo è un problema serio che mi impedisce di usare intellij in generale - dovrebbero aggiustare queste cose al più presto senza alcuna votazione .... ma bene voterò;) –

1

Soluzione alternativa menzionata allo http://youtrack.jetbrains.com/issue/IDEA-98425 che ha funzionato per me e altri è andare a "impostazioni - Maven - Multiproject build fail policy". Impostalo su "Fail At End".

+2

nel mio caso (e alcuni altri) non ha aiutato –

+0

Ho avuto un errore anche in seguito :(Dopo un lungo "voodoo" "pratiche (non so quale sia ancora la parte utile) di" utilizzare maven 3 per l'importazione "," finestra degli strumenti dei progetti Maven - reimportare tutti i progetti maven "," mvn install "dalla riga di comando, riaprire il progetto, sincronizzare progetto, "settings - maven - repository - select local - update", invalidando le cache, "ricostruisci progetto" funziona in modo casuale di nuovo –

+0

sì ... ho provato un approccio simile. Dopo un po 'il mio progetto è stato in grado di compilare, e non sono riuscito a romperlo di nuovo ... anche rimuovendo le dipendenze obbligatorie .... che schifo ... –

Problemi correlati