【发布时间】:2018-08-24 15:14:27
【问题描述】:
我正在使用带有 Gradle 的 Spring Boot 框架。我知道要包含一些 Spring 依赖项,我可以在不明确定义版本的情况下引用“starters”;版本将由我选择的 Spring Boot 版本控制,即 Spring Boot Gradle 插件的版本。示例(省略不相关的 Gradle 代码):
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath group: 'org.springframework.boot', name: 'spring-boot-gradle-plugin', version: BOOT_VERSION
classpath group: 'io.spring.gradle', name: 'dependency-management-plugin', version: DEP_MGMT_VERSION
}
}
...
dependencies {
compile 'org.springframework.boot:spring-boot'
testCompile 'org.springframework.boot:spring-boot-starter-test'
}
请注意,上面没有为我的应用程序依赖项定义明确的版本。
现在,假设我想包含一些 Spring Cloud 和 Spring Integration 依赖项。例如:
compile 'org.springframework.integration:spring-integration-mqtt:some-version'
compile 'org.springframework.cloud:spring-cloud-netflix-eureka-server:some-other-version'
如何确保我用于这些依赖项的版本与我的其他 Spring Boot 依赖项兼容?我不能省略版本,所以 Gradle 插件似乎没有处理这些依赖项(也许它只处理组 org.springframework.boot 的那些?)。
换句话说,是否有一种干净、安全的方法来确保我的所有 Spring 依赖项(来自 Spring Boot、Spring Cloud 等)能够协同工作?
【问题讨论】:
标签: java spring spring-boot gradle spring-cloud