Nexus和Maven有什么区别?

163

NexusMaven有什么区别?

只使用Maven的基本场景是什么?只考虑Nexus的情况又如何?当我想要同时使用两者时,该怎么做?

3个回答

192

Sonatype NexusApache Maven是两个经常一起使用但完成不同任务的软件。Nexus提供一个仓库,而Maven使用仓库来构建软件。

这里是来自“什么是Nexus?”的引用:

Nexus管理开发所需的软件“工件”。如果您开发软件,则可以从Nexus下载依赖项并将工件发布到Nexus,从而创建组织内共享工件的新方法。虽然中央仓库一直为开发人员提供了极大的方便,但您不应该直接访问它。您应该通过Nexus代理中央仓库,并维护自己的仓库以确保组织内的稳定性。 使用Nexus,您可以从单个位置完全控制对组织中每个工件的访问和部署。

以下是来自“Maven和Nexus Pro,天生一对”的引用,解释了Maven如何使用仓库:

Maven通过检索构建应用程序所需的工件并将构建过程的结果部署到仓库来利用仓库的概念。 Maven使用结构化仓库的概念,以便可以检索组件以支持构建。这些组件或依赖项包括库、框架、容器等。 Maven可以在仓库中识别组件,了解它们的依赖关系,检索构建成功所需的所有组件,并在构建完成后将其输出部署回仓库。

因此,当您想要同时使用两者时,将有一个由Nexus管理的仓库,而Maven将访问此仓库。


16

这里有一个很好的通用描述:https://gephi.wordpress.com/tag/maven/

让我来做几个陈述,以突出差异:

  1. 我们将代码库从Ant迁移到了Maven。

  2. 所有第三方库已上传到Nexus。Maven使用Nexus作为库的源。

  3. 仓库管理器(例如Sonatype)的基本功能包括:

    • 管理项目依赖关系,
    • 工件和元数据,
    • 代理外部库
    • 以及打包二进制文件和JAR文件的部署,以与其他开发人员和最终用户共享这些工件。

2
从我的学习中所理解的和我认为的是这里。我引用了一本书中的部分内容。 Nexus Repository Manager和Nexus Repository Manager OSS起初是支持Maven存储库格式的存储库管理器。虽然它现在支持许多其他存储库格式,但Maven存储库格式仍然是运行在JVM及其以上版本的构建和配置工具中最常见和最受支持的格式。本章展示了使用存储库管理器与Apache Maven和许多其他工具进行配置的示例配置。这些设置利用合并许多存储库并通过存储库组公开它们。除了特定工具使用的配置之外,该章节还记录了如何设置此项配置。
详情请参阅:详细信息

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