使用 maven 存储库作为本地常春藤缓存

Posted

技术标签:

【中文标题】使用 maven 存储库作为本地常春藤缓存【英文标题】:Use maven repository as local ivy cache 【发布时间】:2011-09-07 03:45:50 【问题描述】:

是否有可能使用本地 Maven 存储库 (~/.m2) 作为本地 Ivy 缓存 (~/.ivy)?他们有不同的布局。

有时我使用 Maven,有时我使用 SBT,它在下面使用 Ivy,所以我在 Maven 和 Ivy 中都有 2 个相同库的副本。我想使用相同的目录,从而节省磁盘空间和网络。

谢谢。

【问题讨论】:

【参考方案1】:

要保存网络,只需configure ivy to use local Maven repository

      <property name="local-maven2-dir" value="$user.home/.m2/repository/" />
      <filesystem name="local-maven-2" m2compatible="true">
        <artifact
           pattern="$local-maven2-dir/[organisation]/[module]/[revision]/[module]-[revision].[ext]" />
        <ivy
           pattern="$local-maven2-dir/[organisation]/[module]/[revision]/[module]-[revision].pom" />
      </filesystem>

【讨论】:

【参考方案2】:

您可以使用

指定缓存和缓存的布局
  <cache/> Tag

.

我认为您将不得不更改 artifacts/ivy.xml 文件的模式。 此处描述了标签: http://ant.apache.org/ivy/history/2.0.0/settings/caches.html. 似乎它应该可以工作,但我从未尝试过:)。

【讨论】:

以上是关于使用 maven 存储库作为本地常春藤缓存的主要内容,如果未能解决你的问题,请参考以下文章

本地存储库的好常春藤教程? [关闭]

如何让 Grails 从 Maven 存储库中获取最新的本地 jars?

请参阅 VSTS 中的一个文件夹,该文件夹包含我的项目构建文件中的本地常春藤存储库

常春藤从常春藤缓存中删除不需要的(旧)工件

解决常春藤的最佳链

NoClassDefFoundError 使用常春藤。罐子不添加到类路径