使用Gradle从Artifactory下载最新版本
Artifactory的API有一个特性,您可以在其中下载最新版本的jar文件(请参阅) 他们的例子是: 得到http://localhost:8080/artifactory/ivy-local/org/acme/[RELEASE]/acme-[RELEASE].jar 我正在做一个项目,在这个项目中,所有的构建都会发布,我想从上一个版本中获取jar。所以我要找的是gradle中的依赖关系:使用Gradle从Artifactory下载最新版本,gradle,ivy,artifactory,Gradle,Ivy,Artifactory,Artifactory的API有一个特性,您可以在其中下载最新版本的jar文件(请参阅) 他们的例子是: 得到http://localhost:8080/artifactory/ivy-local/org/acme/[RELEASE]/acme-[RELEASE].jar 我正在做一个项目,在这个项目中,所有的构建都会发布,我想从上一个版本中获取jar。所以我要找的是gradle中的依赖关系: compile "org.acme:acme:1.0.0.9.[RELEASE]" 由于方括号的转义
compile "org.acme:acme:1.0.0.9.[RELEASE]"
由于方括号的转义,此操作失败,因此我尝试:
compile "org.acme:acme:1.0.0.9.%5BRELEASE%5D"
这似乎允许gradle/ivy查找该文件,但它失败了,因为.pom文件版本与定义的版本不匹配
FAILURE: Build failed with an exception.
* What went wrong:
Could not resolve all dependencies for configuration ':project:compile'.
> Could not resolve org.acme:acme:1.0.0.9.%5BRELEASE%5D.
Required by:
org.acme:acme:unspecified
> Could not resolve org.acme:acme:1.0.0.9.%5BRELEASE%5D.
> inconsistent module metadata found. Descriptor: CachedResource: /Users/xxxx/.gradle/caches/artifacts-26/filestore/org.acme/acme/1.0.0.9.%5BRELEASE%5D/pom/3986d9c1a27873ce92c0dbd089fc1ca9618f8c1a/acme-1.0.0.9.%5BRELEASE%5D.pom for http://localhost/artifactory/org/acme/acme/1.0.0.9.%5BRELEASE%5D/acme-1.0.0.9.%5BRELEASE%5D.pom Errors: bad version: expected='1.0.0.9.%5BRELEASE%5D' found='1.0.0.9.80'
有没有办法让gradle和ivy从artifactory获取最新版本?我能够使用ivy语法实现这一点:
compile "org.acme:acme:1.0.0.9.+"
这解决了我的问题,但我从未使用Artifactory[RELEASE]url使其工作。我能够使用ivy语法使其工作:
compile "org.acme:acme:1.0.0.9.+"
这解决了我的问题,但我从未使用Artifactory[RELEASE]url使其正常工作。请给出一些您想要匹配的版本的示例。RESTAPI及其约定在这里是不相关的。附言:Gradle不再在引擎盖下使用常春藤。请给出一些你想要匹配的版本的例子。RESTAPI及其约定在这里是不相关的。PS:Gradle不再在后台使用Ivy。您不能在Gradle依赖关系表示法中使用Artifactory REST API语法<代码>“org.acme:acme:latest.release”可能会起作用。您不能在Gradle依赖关系表示法中使用Artifactory REST API语法<代码>“org.acme:acme:latest.release”可能会起作用。