Archiva和Nexus有什么区别?

33

已经有一些类似的问题了,但大多数要么是关注Nexus vs. Artifactory,要么是几年前的问题。

我想了解这两个项目现在的发展情况。我的印象是Nexus是最受推崇的仓库管理器,但我倾向于(稍微)更喜欢纯自由的项目(嘿,一点意识形态从来没有伤害过任何人)。

我的用例非常简单:我只需要一个按需依赖缓存,其中包含我们自己的半打工件。我将使用它与Ivy(而不是Maven),我们不进行自动构建,只会有几个开发人员使用它。所以我也想知道Nexus的更高级功能是否是我不需要的东西。

在做选择之前,我应该注意什么?


4
更新一下,因为这已经有几年了,但是有一个不错的比较矩阵可以比较所有二进制代码仓库:http://binary-repositories-comparison.github.io/。 - Karl Harnagy
上面的Matrix链接已经过时,自2021年3月起不再可用,但是您可以在https://dev59.com/BHRC5IYBdhLWcg3wP-hh找到有价值的真实讨论。请查看下面的答案。 - WebComer
7个回答

39

声明偏见: 我是 Archiva 项目的创始人。

我可以向您保证,Archiva,以及所有三个项目,都能满足您列出的需求,并且都有几项更高级的功能,随着您的环境发展,您可能会发现这些功能非常有用。它们都很容易尝试,因此您可以看到哪种最自然。

正如您所指出的,Archiva 是授权最宽松的,并且在 Apache,如果这对您很重要,不会绑定于特定的公司利益。

关于 Ivy,我们最近有人自愿编写原生支持 Ivy 格式存储库的支持,如果成功实现,您可能会感兴趣。


3
我之前的公司使用Archiva,我现在的公司使用Nexus。只要正确使用“ibiblio”解析器,Ivy可以与两者一起很好地使用。 - Mark O'Connor
谢谢,我倾向于从Archiva开始,并观察是否遇到任何问题。 - Dmitri
Brett,我们需要谈一谈关于Archiva的文档问题。我已经使用了一年,但仍然感到非常困惑。 - Anton

10
我曾经首选使用Apache Archiva,因为它满足了公司的需求,我对其非常满意。虽然在我的Debian 64位机器上安装时遇到了一些小问题,但并不严重。
但是过了一段时间,我尝试了Nexus,被其漂亮而光鲜的用户界面深深吸引。虽然有时候会有点过载,但最终我还是选择在公司中使用Nexus。但从功能角度来看,两者都可以使用。

2
我们公司使用Nexus Professional,我们对它非常满意。我们使用它进行自动构建,并利用了许多高级功能。我同意您的观点,免费版本可能会完全满足您的需求。
我没有使用Archiva的经验,但我相信它也是一个合适的选择。

如果文档不是对几乎所有东西都如此模糊不清,那该多好啊。 - Anton

1
Archiva存在许多漏洞,如果您只按照官方指南(http://archiva.apache.org/docs/1.3.6/quick-start.html)配置,它将永远无法正常工作。您必须进行猜测式的配置。
相比之下,Nexus比Archiva更易用,但外观不如Archiva。
例如,我的操作系统是Windows 2003,使用Archiva 1.3.4、1.3.6和1.4版本时,Archiva可以下载log4j.jar、junit.jar,但却无法下载javax\jms\jms\1.1\jms-1.1.jar。
不要使用Archiva,它太难用了。Nexus非常容易上手。

1
即使没有使用得当,这只是一个观点,为什么你们要踩它呢?就我个人而言,我需要同意他的观点,Archiva确实有很多漏洞(我正在使用2.2.0版本),但它能够完成工作。由于它是开源的,我希望它会不断改进,让我越来越愿意使用它。 - NeeL

1

жңүе…іArtifactoryдёҺNexusд»ҘеҸҠе…¶д»–е·Ҙе…·пјҲеҰӮArchivaе’ҢProGetпјүзҡ„жҜ”иҫғгҖӮ

https://www.itcentralstation.com/products/comparisons/archiva_vs_jfrog-artifactory_vs_sonatype-nexus-repository

https://www.praqma.com/stories/artifactory-nexus-proget/

然而第一个是2018年的,看起来Nexus获得了更多的投票。

SO上有非常好的实时详细讨论和有价值的数据。

我们应该使用Nexus还是Artifactory作为Maven仓库?


1

我刚开始使用带有ivy的nexus。我想使用nexus来填充项目存储库,仅使用所需的工件(仅限于ivy而不是传递依赖项,并且nexus中央存储库处于代理模式)。因此,在添加新依赖项时,我可以通过nexus将构建切换到中央存储库,它将填充我的项目存储库,接下来的开发人员在构建时可以直接使用项目存储库(因此,项目存储库将只包含必需的工件,而不会混淆引起问题的库,这在我以前的项目中造成了问题)。

相比Artifactory,Nexus看起来更好,因为它使用文件系统而不是数据库来保留存储库。

关于Nexus与Apache Archiva的比较,我的快速测试表明,Nexus更直观,速度也稍微快一些。


1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接