Ivy 存储库有任何最佳实践或工具吗?

发布于 2024-08-17 14:15:33 字数 277 浏览 9 评论 0原文

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

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

we use Gradle for building Java projects and at the moment we have Ivy repositories to store third-party artifacts and also to publish our own artifacts into (repo is build using Gant scripts and the Ivy ANT tasks). but repo management is basic.

Gradle is able to work with a maven repo as well, so switching to a Maven artifact manager like Archiva or Nexus is an option, but perhaps unnecessary. do you know any tools or best practices than can help us in building and maintaining Ivy repos?

just to be clear: we have already read the tutorials and more and understand how to do it, but it's still basic to maintain.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

少女净妖师 2024-08-24 14:15:33

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

基于 Maven 的存储库基础设施现在非常普遍,许多项目都在使用它,因此推广一个替代存储库管理标准。

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

值得庆幸的是,ivy 与 Maven 配合得很好,这意味着您可以充分利用两个世界的优点。

In the past, I've only used an ivy repository for small private repositories publishing artifacts using simple low level protocols like an FTP site. (All the site needs is a versioned directory layout and an ivy.xml file describing the arifacts)

The maven based repository infrastructure is now so pervasive, with some many projects using it, it's almost pointless to promote an alternative repository management standard.

Sonatype (company behind Maven) make their repository product, Nexus, available to all, because it's in everyone's interest to keep the band-width requirements to Maven central under control.

Thankfully, ivy plays nice with Maven meaning you can take advantage of the best of both worlds.

与君绝 2024-08-24 14:15:33

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

I've created a blog entry about my Ivy repository layout and choices. You might have different requirements, but I think it is always good to check other's solutions to get some ideas...

探春 2024-08-24 14:15:33

有一个名为 Ivy Roundup 的社区项目,旨在构建一致、最新的 ivy常见第三方库的存储库。匹配那里使用的命名约定可能是一个好主意,或者更好的是,只需使用 任务

There's a community project called Ivy Roundup that aims to build a consistent, up-to-date ivy repo of common third party libraries. It may be a good idea to match the naming conventions used there, or even better, just get modules from there using the <ivy:install> task.

孤单情人 2024-08-24 14:15:33

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

诚然,诸如更改工件名称之类的事情可能很困难,但无论如何,这也是您不应该做的事情。

In my opinion there isn't much in Ivy's repository to work with because it just works. What you can't do with Ivy's Ant tasks you can do directly from the file system, simple as that.

Admittedly something like changing the artefact name can be difficult but then again that's something you shouldn't do anyway.

转身以后 2024-08-24 14:15:33

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

What I am typically doing in practice when I need a third-party library is to search for it in the MVN repository and then click on the "Ivy" tab to get the Ivy dependency for my ivy.xml.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文