【问题标题】:Setting up an alias name for jar in artifactory在 artifactory 中为 jar 设置别名
【发布时间】:2017-08-04 16:49:33
【问题描述】:
我有一个 gradle 项目,其中构建了 jar 并将其推送到工件。我总是希望每个构建/新工件都被称为可以在外部使用的最新版本。我如何通过gradle实现它?我可以为工件设置类似“最新”的别名,因此在任何时候我的最新标签都会指向可以添加为依赖项的最新 jar?
例如:abc-1.0-latest.jar 应该总是为我获取最新的构建,无论我在内部运行了多少构建。
【问题讨论】:
标签:
java
gradle
build
artifactory
【解决方案1】:
嗯 - 这可能是一件很奇怪的事情?
所以,您想多次发布具有相同版本但具有不同签名的工件?那是;工件abc-1.0 可以进化,但版本控制保持不变?不知道这是不是一个好习惯。
无论如何,为什么不研究一下 maven/gradle 作品的版本控制?可能是您可以添加类似这样的内容来始终获取abc-library 的最新工件:
马文:
<dependency>
<artifactId>abc</artifactId>
<groupId>com.whatever</groupId>
<version>[1.0,)</version>
<dependency>
分级:
dependencies {
compile 'com.whatever:abc:1.+'
}
在这种情况下,版本 1.1,如果可用,将从 artifactory 中获取。
但请记住,您的代码不容易重建,因为将使用动态依赖方法获取工件。
【解决方案3】:
您可以完全避免指定版本,然后 Gradle 会选择最新的版本
dependencies {
compile 'com.google.guava:guava:+'
}
或者如果你想要最新的 7 个版本
dependencies {
compile 'com.google.guava:guava:7.+'
}
编辑:对不起,我误解了这个问题。
如果您希望您的项目始终使用最新代码,在这种情况下创建一个多项目并依赖项目“构建”结果不是更好吗?