来自不同的问题,我看到我的Spring库是一种混淆。
我有Spring-4.0.5库(是的,我想要它们)和Spring3.2.9-库,它们显然是通过maven提供的Spring JPA-1.6依赖关系。spring -data-JPA1.4似乎没有使用spring 3库,但我绝对喜欢使用当前的1.6。
Maven:
<properties>
<org.springframework.version>4.0.5.RELEASE</org.springframework.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>${org.springframework.version}</version>
</dependency>
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-jpa</artifactId>
<version>1.6.0.RELEASE</version>
</dependency>
[...]有人能证实这一点吗,还是我做了什么完全错误的事?
发布于 2014-07-01 07:24:47
正如Manuel Jordan所建议的那样,我必须手动排除依赖项,下面是该依赖项的完整maven代码:
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-jpa</artifactId>
<version>1.6.0.RELEASE</version>
<exclusions>
<exclusion>
<artifactId>spring-aop</artifactId>
<groupId>org.springframework</groupId>
</exclusion>
<exclusion>
<artifactId>spring-beans</artifactId>
<groupId>org.springframework</groupId>
</exclusion>
<exclusion>
<artifactId>spring-context</artifactId>
<groupId>org.springframework</groupId>
</exclusion>
<exclusion>
<artifactId>spring-core</artifactId>
<groupId>org.springframework</groupId>
</exclusion>
<exclusion>
<artifactId>spring-expression</artifactId>
<groupId>org.springframework</groupId>
</exclusion>
<exclusion>
<artifactId>spring-instrument</artifactId>
<groupId>org.springframework</groupId>
</exclusion>
<exclusion>
<artifactId>spring-jdbc</artifactId>
<groupId>org.springframework</groupId>
</exclusion>
<exclusion>
<artifactId>spring-orm</artifactId>
<groupId>org.springframework</groupId>
</exclusion>
<exclusion>
<artifactId>spring-tx</artifactId>
<groupId>org.springframework</groupId>
</exclusion>
</exclusions>
</dependency>发布于 2014-07-01 08:31:30
dexBerlins答案的另一种选择是使用元素。这样做的好处是,当您使用它时,任何传递的依赖项都将被忽略,并使用元素中指定的版本。基本上是全局覆盖:
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>4.0.5.RELEASE</version>
</dependency>
</dependencies>
</dependencyManagement>发布于 2014-06-30 17:12:04
我也遇到过同样的情况,只是显式地覆盖了spring模块,而旧的引用却消失了。例如。
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-orm</artifactId>
<version>${org.springframework.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>${org.springframework.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-tx</artifactId>
<version>${org.springframework.version}</version>
</dependency>我们必须假定Spring数据(下一个新版本)应该引用一个新的Spring框架版本。
https://stackoverflow.com/questions/24493119
复制相似问题