如何使用spring-boot指定spring-data-mongodb版本?

fon*_*lif 5 mongodb pom.xml maven spring-boot

我想使用最新版本的spring-data-mongodb,以便使用全文搜索功能,但我不知道如何使用spring-boot-starter-data-mongodb依赖来指定它.

你可以在这里阅读:未指定spring-data-mongodb版本的maven资源库.

这是我的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>
Run Code Online (Sandbox Code Playgroud)

M. *_*num 10

Spring Boot在spring-boot-dependencies项目中定义了它的所有依赖项和依赖项版本.此项目仅包含仅具有依赖项和版本作为属性的pom.

Spring Data在所谓的发布系列中发布了所有兼容版本,这确保了该版本的所有依赖项可以协同工作.

当你仔细看看pom时,你会看到一个名为maven的属性spring-data-releasetrain.version,对于即将到来的Spring Boot 1.2,它指向最新的版本列车版本Evans-RELEASE.1.1.7版本指向上一版本Dijkstra-SR4.为了以防万一,我建议从1.1.6升级到1.1.7.

您的项目已经将spring-boot-starter-parent项目作为其父项,因此理论上升级Spring Data版本应该像覆盖指定的属性一样简单.

<properties>
    <spring-data-releasetrain.version>Evans-RELEASE</spring-data-releasetrain.version>
</properties>
Run Code Online (Sandbox Code Playgroud)

如前所述,首选使用发布系列,因为这将确保您获得所有兼容版本.