2010-11-11 23 views
5

Nie wiem, czy jest to błąd lub zamierzona funkcja, ale edytor POM dla m2Eclipse ma znakomitą reprezentację graficzną (zakładkę "Wykres zależności") i drzewo ("Heirarchy zależności" tab), jeśli zależności są same w sekcji zależności. Jednak po przeniesieniu ich do węzła "dependencyManagement" (przydatne w przypadku projektów modułowych) te karty przestają działać.sekcja zależności m2EclipseManagement nie pokazuje wykresu

Czy ktoś wie, czy jest to błąd, zamierzona funkcjonalność itp.?

EDYCJA # 1: zależności w sekcji zarządzania zależnościami NIE są zadeklarowane poza sekcją zarządzania zależnościami w obiekcie nadrzędnym. Są tam, aby dzielić się modułami potomnymi; aby zachować spójność (gdzieś tam było jakieś standardowe, na którym to modelujemy).

EDYCJA # 2: Oprzyrządowanie działa na poziomie modułu podrzędnego. Mówię o tym, że nie działa na poziomie rodziców.

TIA

Odpowiedz

2

mam POM z zależnościami deklarowanych pod dependencyManagement i są one po prostu pokazane jak oczekiwano w Dependency Graph i Dependency Hierarchia zakładkach.

Na przykład, mam POM nadrzędnej z:

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

a POM dziecięcą z:

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

a Dependency Graph dziecka właśnie działa:

alt text

Czy zależności zostały przeniesione pod dependencyManagement faktycznie również zadeklarowane jako zależności? Czy możesz pokazać uproszczony pom.xml ilustrujący problem?


Oprzyrządowanie działa na poziomie modułu dziecko. Mówię o tym, że nie działa na poziomie rodziców.

Zależności zadeklarowane w elemencie dependencyManagement nie są dependencies projektu (jeśli Oświadczam foo w dependencyManagement, nie jestem jeszcze w zależności od foo). Jeśli rodzic nie deklaruje żadnego dependencies, nic nie ma do pokazania.

+0

Edytowałem pytanie, aby pokazać odpowiedź na twoje pytanie (starając się nie dodawać zbyt wiele w komentarzach) :) - ale w skrócie, myślę, że różnica polega na tym, że w twoim przypadku masz je poza sekcją dependanceManagement. – javamonkey79

+0

Ups, nie sądzę, żebym przeczytał twój wpis zbyt dobrze ... – javamonkey79

+0

Teraz dostaję to, co mówisz - jeszcze jedna edycja nadchodzi :) – javamonkey79