在我的项目中,我们有父模块,它不在我们的控制范围内,并且使用了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 引导入门版本,或者想以某种方式使用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>