我使用的是spring-boot 2.0.5.RELEASE和Jhipster 5.3.3,我的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 data已经发布了对MongoDB4事务管理的支持,我想试一试,因为它听起来非常酷!
基于spring参考文档:https://docs.spring.io/spring-data/mongodb/docs/2.1.0.RELEASE/reference/html/#dependencies
使用spring data mongodb 2.1.0.RELEASE和spring boot一样简单,只需添加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>
但这并没有带来任何spring data mongodb 2.1.0 jar,只带来了发布版lovelace的pom。Maven只下载这个版本的pom,并继续下载spring boot 2.0.5附带的spring data mongodb 2.0.10。
发布于 2018-09-30 22:08:57
我找到了这样做的方法,因为我使用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 data mongodb版本。
我必须阅读spring boot参考指南才能理解这一点。
https://stackoverflow.com/questions/52570682
复制相似问题