【问题标题】:use latest snapshot version from the remote repo使用远程仓库中的最新快照版本
【发布时间】:2014-04-17 19:49:59
【问题描述】:

现在,我应该明确指定版本:

  dependencies {

      compile 'projGroup:projName:0.1-SNAPSHOT'
  }

我尝试过什么,但它不起作用:

  compile "projGroup:projName:0.+-SNAPSHOT"
  compile "projGroup:projName:+"

我如何告诉 gradle 使用来自远程 maven 存储库的最新 snapsot 版本?

【问题讨论】:

    标签: gradle build.gradle


    【解决方案1】:

    使用 Gradle 2.2.1 验证:

    1. 在 Gradle 中覆盖默认的 24 小时模块缓存:

      configurations.all {
          resolutionStrategy.cacheChangingModulesFor 0, 'seconds'
      }
      
    2. 然后,latest.integration 将适用于每个 Maven 快照:

      dependencies {
          compile 'projGroup:projName:latest.integration'
      }
      

    【讨论】:

    • 元数据规则latest.release 也可用于发布版本。这在Gradle documentation 中有描述。
    【解决方案2】:

    compile "projGroup:projName:latest.integration" 应该可以工作。

    【讨论】:

    • 在什么情况下它不起作用?默认情况下,快照的缓存超时时间为 24 小时,因此在此之前您不会获得新的快照。
    • 我认为我问的问题不正确。对不起。我在 github 上有带有 maven 工件的 repo。所有工件都是通过 uploadArchives 任务创建的。将 repo 上的 url 添加到存储库后,我将代码行添加到依赖项(编译 'projGroup:projName:0.1-SNAPSHOT'),它工作正常。但我不想明确指定版本,你写的解决方案也不起作用。我试过(编译“projGroup:projName:latest.integration”)。
    • 再次,它在什么方面不起作用?什么是准确和完整的错误信息?您使用的是最新的 Gradle 版本吗?
    • 错误:找不到任何与 projGroup:projName:latest.integration 匹配的版本。我使用 gradle 1.8。谢谢。
    • 或许可以尝试使用更高版本。如果这也不起作用,您可能必须坚持使用0.1-SNAPSHOT。这也是你在使用 Maven 时得到的。
    猜你喜欢
    • 2013-05-25
    • 2021-09-11
    • 1970-01-01
    • 2015-08-20
    • 2018-12-05
    • 1970-01-01
    • 2015-08-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多