2010-11-11 17 views
5

Ich weiß nicht, ob dies ein Fehler oder beabsichtigte Funktionalität ist, aber der POM-Editor für m2Eclipse hat eine wunderbare Grafikdarstellung ('Dependency Graph' Registerkarte) und Baum ('Dependency Hierarchie') Tab), wenn die Abhängigkeiten alle im Dependency-Abschnitt sind. Wenn Sie sie jedoch in den Knoten 'dependencyManagement' verschieben (nützlich für modulbasierte Projekte), funktionieren diese Registerkarten nicht mehr.m2Eclipse dependencyManagement Abschnitt zeigt kein Diagramm

Weiß jemand, ob das ein Fehler ist, beabsichtigte Funktionalität usw.?

EDIT # 1: Die Abhängigkeiten in der Abhängigkeitsverwaltung Abschnitt sind nicht außerhalb der Abhängigkeitsverwaltung Abschnitt im übergeordneten deklariert. Sie sind dort, um unter den Kindmodulen zu teilen; um Konsistenz zu bewahren (es wurde irgendwo ein Standard gepostet, an dem wir das modellieren).

EDIT # 2: Das Tooling funktioniert auf der Ebene der untergeordneten Module. Ich beziehe mich darauf, dass es nicht auf der Elternebene funktioniert.

TIA

Antwort

2

Ich habe POMs mit Abhängigkeiten unter dependencyManagement erklärt und sie sind wie erwartet in der Dependency Graph und Abhängigkeitshierarchie Registerkarten angezeigt.

Zum Beispiel habe ich einen Elternteil POM mit:

<dependencyManagement> 
    <dependencies> 
     <!-- SL4J API --> 
     <dependency> 
     <groupId>org.slf4j</groupId> 
     <artifactId>slf4j-api</artifactId> 
     <version>${slf4j.version}</version> 
     </dependency> 
     <!-- SLF4J JDK14 Binding --> 
     <dependency> 
     <groupId>org.slf4j</groupId> 
     <artifactId>slf4j-jdk14</artifactId> 
     <version>${slf4j.version}</version> 
     </dependency> 
     <dependency> 
     <groupId>org.slf4j</groupId> 
     <artifactId>jcl-over-slf4j</artifactId> 
     <version>${slf4j.version}</version> 
     </dependency> 
     ... 
    </dependencyManagement> 

Und ein Kind POM mit:

<dependencies> 
    ... 
    <!-- Logging --> 
    <dependency> 
     <groupId>org.slf4j</groupId> 
     <artifactId>jcl-over-slf4j</artifactId> 
    </dependency> 
    ... 
    </dependencies> 

Und die Dependency Graph das Kind gerade arbeitet:

alt text

Sind die Abhängigkeiten, die Sie verschoben haben, unter dependencyManagement eigentlich auch als Abhängigkeiten deklariert? Können Sie eine vereinfachte pom.xml zeigen, die das Problem veranschaulicht?


Das Werkzeug arbeitet am Kind Modulebene. Ich beziehe mich darauf, dass es nicht auf der Elternebene funktioniert.

Abhängigkeiten im dependencyManagement Element deklariert sind nicht dependencies des Projekts (wenn ich foo im dependencyManagement erklären, ich verlasse mich noch nicht auf foo). Wenn das übergeordnete Element keine dependencies deklariert, gibt es nichts anzuzeigen.

+0

Ich bearbeitet die Frage, um die Antwort auf Ihre Frage zu zeigen (versuchen, nicht zu viel in den Kommentaren zu halten) :) - aber kurz gesagt, ich denke der Unterschied ist, dass Sie in Ihrem Fall sie außerhalb der dependencyManagement Abschnitt haben. – javamonkey79

+0

Hoppla, ich glaube nicht, dass ich deinen Beitrag zu gut gelesen habe ... – javamonkey79

+0

Jetzt bekomme ich, was du sagst - noch eine Bearbeitung kommt :) – javamonkey79