我正在使用mongodb和Spring Boot . 最近,我的mongodb升级到3.0版 .
我在Spring中使用以下Gradle依赖项:
buildscript {
ext {
springBootVersion = '1.2.6.RELEASE'
}
dependencies {
compile 'org.springframework.boot:spring-boot-starter-data-mongodb'
}
如果我查看Gradle的maven存储库: 'org.springframework.boot:spring-boot-starter-data-mongodb:1.2.6.RELEASE'
,我看到以下内容(http://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-data-mongodb/1.2.6.RELEASE):
mongo-java-drivers的依赖项在“Version”列下为2.12.5 . 我想知道“更新”列是什么,我怎么能使用那里列出的mongo-java-drivers版本(3.0.4)?
由于我使用mongo 3.0,我想使用3.0.4 java驱动程序而不是2.12.5因为我需要将我的java驱动程序更新为至少2.13才能使用我的mongodb 3.0:http://docs.mongodb.org/manual/release-notes/3.0-scram/#upgrade-drivers
2 回答
只需将以下依赖项添加到项目依赖项:
compile 'org.mongodb:mongo-java-driver:3.0.4'
这将明确地将mongodb Java驱动程序设置为最新版本,并将溢出
spring-boot-starter-data-mongodb
的传递依赖版本 .顺便说一句,“更新”列表示特定工件的最新版本 .
您可以通过显式添加要在pom.xml中使用的依赖项版本来强制使用较新版本的依赖项 . 然后Maven将使用显式指定的版本进行编译 .
仅供参考,您可以使用 exclude 元素排除由直接依赖项触发的依赖项 .
请参阅this doc以了解maven如何管理依赖项 .
如果您使用的是Gradle,请参阅this page . 实际上,您排除了由spring boot触发的MongoDB传递依赖项,并且您明确地将最新版本添加为直接依赖项 .