簡體   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