为了使用全文搜索功能,我想使用spring mongodb的最新版本,但我不知道如何使用spring starter mongodb依赖来指定这一点。
您可以在这里读到:maven储存库没有指定spring版本。
这是我的pom文件:
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.1.6.RELEASE</version>
<relativePath /> <!-- lookup parent from repository -->
</parent>
<dependencies>
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
<scope>provided</scope>
</dependency>
<!-- Spring Boot -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- Spring Boot Rest -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-rest</artifactId>
</dependency>
<!-- Spring Boot Test -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<!-- Spring MongoDB integration -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-freemarker</artifactId>
</dependency>发布于 2014-10-01 17:46:56
Spring定义了spring-启动依赖项项目中的所有依赖项和依赖项版本。此项目仅包含一个仅作为属性的依赖项和版本的pom。
Spring数据在所谓的发布培训中发布其所有兼容版本,这将确保该版本的所有依赖项一起工作。
当您使用近距离看一看时,您将看到一个名为spring-data-releasetrain.version的maven属性,在即将发布的SpringBoot1.2中,它指向最新发布的列车版本Evans-RELEASE。1.1.7版本指向以前的版本Dijkstra-SR4。我建议从1.1.6升级到1.1.7,以防万一。
您的项目已经将spring-boot-starter-parent项目作为其父项目,因此理论上升级Spring数据版本应该像重写指定的属性一样简单。
<properties>
<spring-data-releasetrain.version>Evans-RELEASE</spring-data-releasetrain.version>
</properties>如前所述,最好使用发布培训,因为这将确保您获得所有兼容版本。
发布于 2020-06-10 11:32:10
您可以在父项目pom文件中找到mongodb依赖项。
/../.m2/repository/org/springframework/boot/spring-boot-dependencies/2.3.0.RELEASE/spring-boot-dependencies-2.3.0.RELEASE.pom该文件定义了其他libs使用的所有依赖项版本。
<properties>
<activemq.version>5.15.12</activemq.version>
<antlr2.version>2.7.7</antlr2.version>
...
<mongodb.version>4.0.3</mongodb.version>
...
</properties>因此,如果您想对mongodb使用不同的版本,请在pom文件中定义一个属性来覆盖默认的属性,如(我认为只有当您使用spring-boot-starter-parent作为父文件时才能这样做)
<properties>
<mongodb.version>3.11.2</mongodb.version>
</properties>发布于 2020-09-06 17:38:56
回答@sendon1982 1982为我工作。这里是我的POM.XML的一个例子,我在这里添加它作为一个答案,因为我不能粘贴到我的pom文件中作为sendon1982答案的注释.
<?xml version="1.0" encoding="UTF-8"?>
<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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.3.3.RELEASE</version>
<relativePath/>
</parent>
<groupId>test.barry</groupId>
<artifactId>test</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>test</name>
<description>Demo project for Spring Boot</description>
<properties>
<java.version>1.8</java.version>
<start-class>test.barry.Main</start-class>
<mongodb.version>4.1.0</mongodb.version>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-mongodb</artifactId>
<version>2.3.3.RELEASE</version>
</dependency>
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>mongodb-driver-sync</artifactId>
<version>4.1.0</version>
</dependency>
</dependencies>
</project>https://stackoverflow.com/questions/26141346
复制相似问题