我的当前项目由父pom文件和两个依赖项目组成。在父类的pom中,我从spring中指定了这个库:
<properties>
<spring.framework.version>3.2.4.RELEASE</spring.framework.version>
</properties>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>${spring.framework.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aop</artifactId>
<version>${spring.framework.version}</version>
</dependency>项目A包含了其他人的所有基本类,并包含在每个子模块中。我使用在父级POM中定义的spring版本。
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aop</artifactId>
</dependency>在项目B中,我引用了项目A,但我想使用这个库的3.1.O.RELEASE。
我试图排除这些库,并将特定版本放入项目的B/ pom文件中,但它没有工作。我还有3.2.4的version版本。
有什么办法解决这个问题吗?
谢谢!
发布于 2014-05-20 08:52:12
只需在项目B的POM中明确说明您的库版本:
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>3.1.O.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aop</artifactId>
<version>3.1.O.RELEASE</version>
</dependency>它将覆盖任何传递依赖项版本。确保精确所有Spring工件,因为有很多。最好的方法是将dependencyManagement中的所有Spring都包含在使用spring.framework.version属性的父级中。然后将此属性重写为项目B中的正确版本:
<properties>
<spring.framework.version>3.1.O.RELEASE</spring.framework.version>
</properties>https://stackoverflow.com/questions/23755037
复制相似问题