【问题标题】:How to make ivy stop re-resolving dependencies?如何让常春藤停止重新解析依赖关系?
【发布时间】:2017-07-13 01:39:43
【问题描述】:

如何让 Ivy 解析、检索和冻结动态依赖项,直到再次手动触发该过程?我正在考虑有人正在构建候选版本并希望将构建与所有不必要的更改隔离开来的情况。

我目前正在试验一个依赖于另一个项目的latest.integration 修订版的项目。在我的 ivy.xml 文件中,我有这个:

<dependencies>
    <dependency name="mylib" rev="latest.revision"/>
</dependencies>

为了编译,我是这样把mylib放到classpath中的:

<ivy:cachepath organisation="myorg"
               module="mylib"
               revision="latest.integration"
               pathid="mylib.jar.path.id"
               inline="true"/>
    <property name="file.reference.mylib.jar"
              refid="mylib.jar.path.id"/>
</ivy:cachepath>

但是,如果我将更新版本的 mylib 推送到存储库并重建我的项目,这个 &lt;ivy:cachepath&gt; 任务将重新解析并重新检索 mylib,这与我想要它做的完全相反。

我试过&lt;ivy:resolve&gt;,但它没有我想要的冻结效果。

如果这正是 Ivy 的工作方式,那没关系。我只会让分辨率的输出写入一个 .properties 文件的所有路径,并在编译期间使用该 .properties 文件的内容,而不是所有 Ivy 业务。

但是,在我走这条路之前,我想确定我不只是在滥用 Ivy,因为这似乎是一个应该内置的用例。

【问题讨论】:

    标签: ivy


    【解决方案1】:

    您正在寻找deliver 任务。使用示例:

    我认为您还应该考虑使用支持暂存和提升工件的 Maven 存储库管理器。这样您就可以构建一次并持续使用它们。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-08-05
      • 2013-10-14
      • 2010-11-06
      • 2011-03-18
      • 2013-02-14
      • 2010-12-07
      • 2016-10-08
      相关资源
      最近更新 更多