Gradle – 获取依赖项的最新版本
告诉Gradle
最简单的方法是什么?
检索“junit”依赖关系,并将其作为最新的“发布”版本。
pipe理Maven和Ivy仓库对我来说是新鲜的 – 我尝试了以下步骤,结果导致"Could not resolve dependency ..." error
:
-
写
compile "junit:junit:latest.release"
与储藏库设置为只mavenCentral()
(但是,它的作品,如果我说“junit:junit:4.10”)。 -
用库设置以下方式
compile "junit:junit:latest.release"
:
ivy { // I also tried 'http://maven.org' and other possible variants. url "http://repo1.maven.org" layout "maven" }
- 试图使用
Spring Source Ivy repository
:
ivy { artifactPattern "http://repository.springsource.com/ivy/libraries/release/[organisation]/[module]/[revision]/[artifact]-[revision].[ext]" ivyPattern "http://repository.springsource.com/ivy/libraries/release/[organisation]/[module]/[revision]/[artifact]-[revision].[ext]" }
也许我误解了一些东西 – 为什么要获得最新版本的依赖是一件如此艰巨的任务呢?
Gradle目前不支持Maven的RELEASE
(很less使用和弃用),但它支持Ivy的latest.release
。 但是,一般build议是针对确切版本进行构build。 否则,build设可以成为一个彩票。
有时候获得最新的版本可能是非常有用的 – 例如,如果你经常释放你自己的依赖关系。
你可以得到最新的版本
compile "junit:junit:+"
或者至less指定至less主要版本
compile "junit:junit:4.+"
查看Gradle-Versions-Plugin。 它正是你想要的: https : //github.com/ben-manes/gradle-versions-plugin
有关安装,请参阅github页面。 基本上你需要将这两行添加到你的build.gradle – project文件中:
apply plugin: 'com.github.ben-manes.versions' buildscript { [...] dependencies { classpath 'com.github.ben-manes:gradle-versions-plugin:0.8' [...] } } [...]
然后你可以使用这个插件,通过在你的项目目录中运行这个命令dir:
./gradlew dependencyUpdates -Drevision=release
它会告诉你哪些依赖已经过时了!
最新的Gradle用户指南提到并解释加号login版本:
从7.2开始。 声明你的依赖关系 :
dependencies { compile group: 'org.hibernate', name: 'hibernate-core', version: '3.6.7.Final' testCompile group: 'junit', name: 'junit', version: '4.+' }
构build脚本还指出,任何junit> = 4.0都需要编译项目的testing。
从23.7起。 依赖关系parsing如何工作 :
如果依赖被声明为dynamic版本(比如1. +),Gradle会将其parsing为版本库中最新的可用静态版本(如1.2)。 对于Maven仓库,这是使用maven-metadata.xml文件完成的,而对于Ivy仓库来说,这是通过目录列表完成的。
如果您使用+
版本,并且想知道哪个版本实际上正在使用 ,请select边栏中的Project
,然后在External Libraries
您将看到正在使用的实际版本号。