2013-01-03 15 views
14

Ich habe Maven-Multimodulprojekt importiert und einige transitive Abhängigkeiten sind nicht aufgelöst. Das gleiche Projekt wird in Jenkins/Eclipse/Console erstellt.IntelliJ 12 - Maven-Multimodul kann transitive Abhängigkeiten nicht auflösen

Ich habe versucht, zwei importieren jedes Projekt separat, und auch nur Eltern Pom zu importieren - beide funktionieren nicht.

Ich habe folgende Struktur: Project A und Project B haben gemeinsame Eltern und beide sind als Module in diesem Elternteil definiert. Project A enthält als Abhängigkeit jackon-jar, Project B hat es nicht. Project A enthält jackson-jar im Standardbereich - jar ist während der Kompilierung sichtbar und Tests werden ausgeführt. Jetzt importiert Project B und auch jackson-jar - und hier ist das Problem - jackson-jar in Project B nicht sichtbar :(Wenn ich es explizit in Project B angeben funktioniert alles in Ordnung, aber es sollte automatisch als transitive Abhängigkeit von Project A kommen .. ....

Ist das weit verbreitetes Problem gibt es Abhilfe

sind hier POM Beispiele:?

Parent:

<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> 

Projekt-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> 

Unten ist auch der Screenshot von meinem realen Projekt - das wäre Project B von vereinfachten Beispiel oben. Auf der linken Seite können wir sehen, dass resteasy-jackoson-provider 4 abhängige Gläser hat, und auf der rechten Seite gibt es nur zwei. Beide Ansichten zeigen das gleiche Projekt:

enter image description here

Nun ist die gleiche Screenshot von Project A

enter image description here

+0

+1 Detail und gut erklärte Frage – Anonymoose

+0

auch http://stackoverflow.com/a/11467266/32453 (Hinweis wurde durch die Deaktivierung „Import über maven3“ Hilfe?) – rogerdpack

Antwort

8

Diese http://youtrack.jetbrains.com/issue/IDEA-98425 einen Fehler in IntelliJ 12. Siehe zu sein scheint, und stimmen Sie bitte für die Ausgabe wenn es dir wichtig ist.

+2

Das ist ein ernstes Problem, das mich intellij verwenden, verhindert in allgemein - sollten sie solche Dinge reparieren so schnell wie möglich ohne Abstimmung .... aber gut ich stimmen;) –

1

Workaround erwähnt um http://youtrack.jetbrains.com/issue/IDEA-98425, die für mich und andere arbeitete, ist zu "Einstellungen - Maven - Multiprojekt Build Fehler Politik" gehen. Setzen Sie es auf "Fehlschlag am Ende".

+2

in meinem Fall (und einige andere) es nicht –

+0

half ich hatte es auch wieder danach nicht :(Nach einigen langen „Voodoo "Praktiken (nicht sicher, was der nutzbare Teil ist noch) von Makeln der‚Verwendung Maven 3 für den Import‘,‚Maven Projekte Tool-Fenster - neu importiert alle Maven-Projekte‘,‚mvn install‘von der Kommandozeile, erneute Öffnen des Projektes, die Synchronisierung Projekt "Einstellungen - maven - Repository - wähle local - update"., Caches ungültig zu machen, "Wiederaufbau-Projekt" es funktioniert wieder zufällig –

+0

Ja .... Ich habe einen ähnlichen Ansatz versucht. Nach einiger Zeit konnte mein Projekt kompilieren, und ich konnte es nicht wieder auflösen ... sogar durch das Entfernen von obligatorischen Abhängigkeiten .... was für ein Mist ... –

Verwandte Themen