Gradle:编译依赖项

时间:2015-10-01 19:24:49

标签: spring mongodb gradle spring-boot

我正在使用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):

maven

"版本"下的mongo-java-drivers的依赖关系是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 个答案:

答案 0 :(得分:1)

只需将以下依赖项添加到项目依赖项中:

compile 'org.mongodb:mongo-java-driver:3.0.4'

这将明确地将mongodb Java驱动程序设置为最新版本,并将溢出spring-boot-starter-data-mongodb的传递依赖版本。

BTW,“更新”列表示特定工件的最新版本。

答案 1 :(得分:0)

您可以通过显式添加要在pom.xml中使用的依赖项版本来强制使用较新版本的依赖项。 然后Maven将使用显式指定的版本进行编译。

仅供参考,您可以使用排除元素排除直接相关性触发的依赖关系。

请参阅this doc以了解maven如何管理依赖项。

如果您使用的是Gradle,请参阅this page。实际上,您排除了由spring boot触发的MongoDB传递依赖项,并且您明确地将最新版本添加为直接依赖项。