У меня есть проект, который использует spring. Он использует версию 3.1.1, но по какой-то причине я действительно не знаю, некоторые артефакты Spring дублируются с двумя разными версиями. Я ищу эти зависимости во всех файлах pom.xml из моего проекта. Я также использую плагин зависимостей, чтобы выяснить, где были включены эти зависимости.
Здесь у вас есть выдержка из вывода mvn dependency:tree
[INFO] | | \- org.springframework:spring-web:jar:3.1.1.RELEASE:compile
[INFO] | | +- aopalliance:aopalliance:jar:1.0:compile
[INFO] | | +- org.springframework:spring-beans:jar:3.1.1.RELEASE:compile
[INFO] | | +- org.springframework:spring-context:jar:3.1.1.RELEASE:compile
[INFO] | | | +- org.springframework:spring-aop:jar:3.1.1.RELEASE:compile
[INFO] | | | +- org.springframework:spring-expression:jar:3.1.1.RELEASE:compile
[INFO] | | | \- org.springframework:spring-asm:jar:3.0.5.RELEASE:compile
[INFO] | | \- org.springframework:spring-core:jar:3.0.5.RELEASE:compile
Насколько я знаю, это означает, что org.springframework:spring-core:jar:3.0.5.RELEASE:compile
включено в org.springframework:spring-web:jar:3.1.1.RELEASE:compile
.
Я обхожу это, включая зависимость с областью действия provided
, но мне нужно знать, почему это происходит.
Обновление: кажется, что когда я комментирую следующий код, банки не включаются в войну.
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-frontend-jaxws</artifactId>
<version>${cxf-version}</version>
</dependency>
...
<properties>
...
<cxf-version>2.4.2</cxf-version>
<spring.version>3.1.1</spring.version>
</properties>
mvn dependency:tree -Dverbose
, чтобы получить больше информации о том, действительно ли он включен или нет. - person Keppil   schedule 28.01.2014