Wiele projektów open source, takich jak wiosna składa się z wielu modułów, podczas dodawania tych modułów jako zależności w maven powinienem jawnie zdefiniować każdą zależność lub po prostu pozwolić, aby przejściowe zarządzanie zależnościami wykonało swoje zadanie. Na przykład, który z dwóch przypadków poniżej jest najlepszą praktyką.Kiedy należy wyraźnie zdefiniować zależności przejściowe w maven?
Przypadek 1: Dołącz najwyższe funkcje poziomu, że chcę
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>3.1.2.RELEASE</version>
</dependency>
Przypadek 2: Każdą część ram jako wyraźną zależność
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>3.1.2.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>3.1.2.RELEASE</version>
</dependency>
.... other dependencies that are transitively resolved by maven
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>3.1.2.RELEASE</version>
</dependency>
który jest najlepszy ćwiczyć przypadek 1 lub przypadek 2 i dlaczego?
Życzenie, aby wspólne projekty java z otwartym dostępem do kodu źródłowego nie oszalały z powodu włamywania się do zbyt wielu modułów. Wystarczy, że włączysz wszystkie te moduły do swojej aplikacji, ponieważ wszystko i tak ich potrzebuje. – ams