【发布时间】:2014-12-23 17:25:08
【问题描述】:
我想在 build.gradle 某处写一次 version: 'latest.release'。 然后可以像这样简化依赖关系: 编译'org.jsoup:jsoup'
就像弹簧靴一样: 编译'org.springframework.boot:spring-boot-starter-web'
有可能吗?
【问题讨论】:
标签: gradle
我想在 build.gradle 某处写一次 version: 'latest.release'。 然后可以像这样简化依赖关系: 编译'org.jsoup:jsoup'
就像弹簧靴一样: 编译'org.springframework.boot:spring-boot-starter-web'
有可能吗?
【问题讨论】:
标签: gradle
通常,最佳做法是始终针对确切的版本进行构建,以避免出现意外情况。
但是,如果您真的想针对最新版本进行构建,您可以这样做:
dependencies {
myConfiguration 'group:module:latest.release'
}
对所有工件强制执行 latest.release 的唯一(正确)方法是编写解决策略。 看看:ResolutionStrategy
【讨论】:
我一般不会使用绝对最新版本,但您可以简单地在 gradle 中使用。
语法使用“+”来匹配任何版本,例如"4.+" 将检查最新的 4.anything 版本。如果你只是单独使用“+”,它会找到最新的发布版本,但如果你依赖它,你可能会遇到麻烦,因为主要版本通常会有重大变化,你的构建只会下载它们而无需担心。
不管怎样,一个小测试是:
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath "junit:junit:+"
}
}
import org.junit.Assert
task someTask << {
Assert.assertEquals(true, !false)
}
运行这个
gradle someTask
【讨论】: