【问题标题】:Gradle does not retrieve latest version from ArtifactoryGradle 不会从 Artifactory 检索最新版本
【发布时间】:2017-01-16 09:17:11
【问题描述】:

我对 Artifactory 和 gradle 有疑问。

在 Artifatory 上编译和部署一个项目(库)。 Maven 元数据似乎按我的预期更新:

<?xml version="1.0" encoding="UTF-8"?>
<metadata>
  <groupId>com.mywork</groupId>
  <artifactId>client</artifactId>
  <version>1.0.23</version>
  <versioning>
    <latest>1.0.23</latest>
    <release>1.0.23</release>
    <versions>
      <version>1.0.18</version>
      <version>1.0.19</version>
      <version>1.0.20</version>
      <version>1.0.21</version>
      <version>1.0.22</version>
      <version>1.0.23</version>
    </versions>
    <lastUpdated>20170116084317</lastUpdated>
  </versioning>
</metadata>  

在使用这个库的 gradle 中是

compile(group: 'com.mywork', name: 'client', version: '1.0.+') 

问题在于下载一个版本时 - 移动到下一个版本的唯一方法是使用 --refresh-dependencies 运行。

--debug 日志中,我可以看到我的工件版本存储在名为 module-versions.bin 的文件中,而 gradle 甚至不检查 maven 元数据。

here 描述的解决方案对我不起作用。

有什么方法可以在每次编译时强制检查最新版本吗?没有 --refresh-dependencies 和/或删除 module-versions.bin

【问题讨论】:

  • 刚刚遇到这个问题。在这里,我们受到时代技术的限制......

标签: gradle artifactory


【解决方案1】:
configurations.all {
    resolutionStrategy {
        cacheDynamicVersionsFor 0, 'seconds'
        cacheChangingModulesFor 0, 'seconds'
    }
}

【讨论】:

  • 不工作。当我从 gradle 缓存中手动删除我的工件时,版本没有得到更新 - 它是下载最后一个已知版本,这不是最新的。 gradle版本可能有问题吗?由于这些变量存在于 gradle 中的哪个版本,所以我没有成功找到。
  • 你把配置放在哪里?与声明依赖项相同的build.gradle?或root/build.gradle?
  • build.gradle 中的依赖块上方
猜你喜欢
  • 2013-11-11
  • 2016-12-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多