5

我们使用 Gradle 来构建 Java 项目,目前我们有 Ivy 存储库来存储第三方工件并将我们自己的工件发布到(repo 是使用 Gant 脚本和 Ivy ANT 任务构建的)。但回购管理是基本的。
Gradle 也可以使用 maven 存储库,因此切换到像 Archiva 或 Nexus 这样的 Maven 工件管理器是一种选择,但可能没有必要。您知道任何可以帮助我们构建和维护 Ivy 存储库的工具或最佳实践吗?

只是要明确一点:我们已经阅读了教程和更多内容并了解了如何做到这一点,但它仍然是维护的基础。

4

5 回答 5

6

过去,我只将常春藤存储库用于小型私有存储库,使用简单的低级协议(如 FTP 站点)发布工件。(站点需要的只是一个版本化的目录布局和一个ivy.xml文件描述的人工制品)

基于 maven 的存储库基础设施现在如此普遍,许多项目都在使用它,推广替代存储库管理标准几乎毫无意义。

Sonatype(Maven 背后的公司)向所有人提供他们的存储库产品 Nexus,因为控制 Maven 中央的带宽要求符合每个人的利益。

值得庆幸的是,ivy 与 Maven 配合得很好,这意味着您可以充分利用两全其美的优势。

于 2010-06-21T17:48:24.203 回答
1

我创建了一个关于我的 Ivy 存储库布局和选择的博客条目。您可能有不同的要求,但我认为检查其他解决方案以获得一些想法总是好的......

于 2011-02-21T14:49:16.210 回答
1

有一个名为Ivy Roundup的社区项目,旨在为常见的第三方库构建一个一致的、最新的 ivy 存储库。匹配那里使用的命名约定可能是一个好主意,或者更好的是,使用<ivy:install>task从那里获取模块。

于 2011-06-23T11:22:11.667 回答
0

在我看来,Ivy 的存储库中没有太多可以使用的东西,因为它可以正常工作。使用 Ivy 的 Ant 任务无法完成的任务可以直接从文件系统完成,就这么简单。

诚然,像更改人工制品名称这样的事情可能很困难,但话说回来,无论如何你都不应该这样做。

于 2010-01-12T19:46:53.363 回答
0

当我需要第三方库时,我通常在实践中做的是在MVN 存储库中搜索它,然后单击“Ivy”选项卡以获取我的 ivy.xml 的 Ivy 依赖项。

于 2013-11-05T18:59:59.103 回答