繁体   English   中英

我如何在Spring Boot 2.0.5和Jhipster 5.3.3中使用spring data mongodb 2.1.0.RELEASE?

[英]How can i use spring data mongodb 2.1.0.RELEASE with spring boot 2.0.5 and Jhipster 5.3.3?

我在Jhipster 5.3.3中使用spring-boot 2.0.5.RELEASE,我的pom如下:

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>io.github.jhipster</groupId>
            <artifactId>jhipster-dependencies</artifactId>
            <version>${jhipster-dependencies.version}</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
        <!-- jhipster-needle-maven-add-dependency-management -->
    </dependencies>
</dependencyManagement>
...
<dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>
...

现在,当我了解到Spring数据已为MongoDB4事务管理发布了支持时,我想尝试一下,因为听起来很酷!

基于spring参考文档: https : //docs.spring.io/spring-data/mongodb/docs/2.1.0.RELEASE/reference/html/#dependencies

在spring boot中使用spring数据mongodb 2.1.0.RELEASE与添加releasetrain的BOM一样容易。 我做了什么,我的pom变成了:

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>io.github.jhipster</groupId>
            <artifactId>jhipster-dependencies</artifactId>
            <version>${jhipster-dependencies.version}</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
        <!-- jhipster-needle-maven-add-dependency-management -->
        <dependency>
            <groupId>org.springframework.data</groupId>
            <artifactId>spring-data-releasetrain</artifactId>
            <version>Lovelace-RELEASE</version>
            <scope>import</scope>
            <type>pom</type>
        </dependency>
    </dependencies>

</dependencyManagement> 

但这并没有带来任何春季数据mongodb 2.1.0 jar,仅是releasetrain lovelace的pom。 Maven仅下载releasetrain的pom,并继续下载spring boot 2.0.5附带的spring数据mongodb 2.0.10。

在pom.xml中也添加spring-data-mongodb

    <dependency>
        <groupId>org.springframework.data</groupId>
        <artifactId>spring-data-mongodb</artifactId>
    </dependency>

我找到了方法,因为我将Jhipster用作项目pom的父项,因此我不得不在Jhipster之前声明lovelace依赖项管理,所以我的pom变成了:

<dependencyManagement>
  <dependencies>
    <dependency>
        <groupId>org.springframework.data</groupId>
        <artifactId>spring-data-releasetrain</artifactId>
        <version>Lovelace-RELEASE</version>
        <scope>import</scope>
        <type>pom</type>
    </dependency>
    <dependency>
        <groupId>io.github.jhipster</groupId>
        <artifactId>jhipster-dependencies</artifactId>
        <version>${jhipster-dependencies.version}</version>
        <type>pom</type>
        <scope>import</scope>
    </dependency>
</dependencies>

</dependencyManagement> 
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>

然后,Maven将下载lovelace的依赖关系管理中指定的spring数据mongodb的版本。

我必须阅读spring boot reference guide才能理解这一点。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM