如何将 ivy 本地存储库用作 maven 存储库

Posted

技术标签:

【中文标题】如何将 ivy 本地存储库用作 maven 存储库【英文标题】:How to use the ivy local repository as a maven respository 【发布时间】:2013-05-10 18:28:55 【问题描述】:

ivy 本地存储库位于 ~/.ivy2 中,我想将其用作本地 maven 存储库。有什么简单的方法可以设置吗?

【问题讨论】:

【参考方案1】:

我怀疑你想要做的是共享 ivy 的缓存,而不是本地存储库。通过调用publish task 将文件放置在ivy 的存储库中。 Ivy 对这些文件类型有明确的存储区别:

~/.ivy2/cache
~/.ivy2/local

另一方面,Maven 混合了以下目录下的两种文件类型:

~/.m2/repository

通过安装像 Nexus 这样的 Maven 存储库管理器并配置 Maven 和 Ivy 以使用它来优化缓存会简单得多。 Nexus 是一个非常高效的 java 进程,在您的开发机器上设置简单。

最后,如果你决定共享缓存,你可以尝试在 ivy 设置文件中使用caches 指令。它具有“ivyPattern”和“artifactPattern”指令,表明可以自定义缓存文件的存储方式。要完成这项工作,您必须自定义 ivy。 Maven 在这方面没有灵活性。

【讨论】:

以上是关于如何将 ivy 本地存储库用作 maven 存储库的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Sonatype Nexus 作为 Ivy 依赖项的镜像 [重复]

如何在公共 Maven/Ivy 存储库中搜索特定类?

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

如何使用 maven 从 ivy 存储库下载工件

将公共 maven 存储库与 ivy 一起使用

如何让 sbt 使用本地 Maven 代理存储库(Nexus)?