我有一个spring应用程序,它具有以下spring依赖关系:
spring-aop-3.2.1.RELEASE
spring-beans-3.2.1.RELEASE
spring-context-support-3.2.1.RELEASE
spring-context-3.2.1.RELEASE
spring-core-3.2.1.RELEASE
spring-expression-3.2.1.RELEASE
spring-jdbc-3.2.1.RELEASE
spring-jms-3.2.1.RELEASE
spring-orm-3.2.1.RELEASE
spring-test-3.2.1.RELEASE
spring-tx-3.2.1.RELEASE
spring-web-3.2.1.RELEASE
spring-webmvc-3.2.1.RELEASE
spring-aspects-3.2.1.RELEASE
spring-spring-security-core-3.2.0.RELEASE
spring-security-web-3.2.0.RELEASE
spring-security-config-3.2.0.RELEASE
spring-security-taglibs-3.2.0.RELEASE
我的问题是,当我使用mvn干净安装构建时,它是否尝试并下载spring 3.2.10.RELEASE,我假设我的依赖项之一是拖动它,但不确定是哪一个。
任何帮助都将不胜感激。提前谢谢。
发布于 2014-07-16 12:37:03
可以在POM的<dependencyManagement>
部分中定义依赖项。您在<dependencyManagement>
中定义的版本不仅适用于顶层<dependencies>
部分中提到的依赖项,还将应用于它们的传递依赖项。
例如:
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
<version>3.2.1.RELEASE</version>
</dependency>
...
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
</dependency>
...
</dependencies>
这些片段将确保Maven只使用版本3.2.1.RELEASE
。(请注意,第二节中没有<version>
。)
如果您仍然想找出这种依赖的来源,如果您使用pom.xml
,那么打开您的Dependency Hierarchy
并查看Dependency Hierarchy
选项卡。如果有必要,您可以双击那里的依赖项:它将打开依赖项本身的pom.xml
,在这里您可以进一步研究传递依赖关系。
发布于 2014-07-16 13:00:46
您可以通过以下方式解决您的难题:
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-framework-bom</artifactId>
<version>4.1.0.BUILD-SNAPSHOT</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
</dependency>
<dependencies>
然后,您就可以管理您的依赖,而不必担心单个版本号。这样,所有春季依赖项都将具有相同的4.1.0.BUILD快照版本。
https://stackoverflow.com/questions/24780643
复制相似问题