在我的项目中,我们有一个父模块,它不是我们控制的,并且使用mongodb-driver-core-3.6.4.jar
和spring-data-mongodb-2.0.11.RELEASE.jar
。但不知何故,我想使用mongodb-driver-core和spring-data-mongodb的最新版本。如何从父模块中覆盖它?
我已经通过链接:https://spring.io/blog/2016/04/13/overriding-dependency-versions-with-spring-boot,但不适合我。
我想覆盖Spring Boot入门版或者想要以某种方式使用mongodb-driver-3.8.2.jar
和spring-boot-2.1.4.RELEASE.jar
我的pom.xml文件如下所示:
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.example.ahr</groupId>
<artifactId>ahr-rest-api-starter-parent</artifactId>
<version>2.3.1</version>
</parent>
<groupId>com.example</groupId>
<artifactId>ahr-data</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>ahr-data</name>
<description>ahr Data Service </description>
<properties>
<java.version>1.8</java.version>
<mongo.version>2.1.4.RELEASE</mongo.version>
</properties>
............
..................
.................
我们只需要从Parent模块覆盖spring-boot-dependencies
,这样Spring Data Mongo starter
就可以获取自己的最新版本。
<dependencyManagement>
<dependencies>
<dependency>
<!-- Import dependency management from Spring Boot -->
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>2.1.4.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
这是我们需要做出的另一项改变 -
<properties>
<java.version>1.8</java.version>
<spring.boot.version>2.1.4.RELEASE</spring.boot.version>
</properties>