当前位置: 首页 > 知识库问答 >
问题:

既然已经在使用git,为什么还要使用maven?

昌乐生
2023-03-14

据我所知,maven引入了依赖项。但是,如果我已经把依赖的罐子拉进去一次,并把它们放在git中,为什么我需要maven呢?

即使有多个开发人员,一旦依赖项在git中,每个开发人员在拉git回购时都会得到所有的依赖项,那么哪里需要maven呢?

我知道这个问题可能被认为是“基于意见的”,但是我试图理解如果依赖项已经在源代码控制中,maven提供了什么优势。

编辑:我说的是固定的,第三方依赖,如泽西,杰克逊等。,而不是项目罐。

共有1个答案

封永嘉
2023-03-14

如果已经在用锤子,为什么还要用剪刀呢?

Git是一个源代码管理系统,Maven是一个二进制工件管理和构建系统。

将二进制依赖项放入SCM被认为是不好的做法,这是对网络和存储资源的浪费。

当有人克隆你的回购并构建它时,这通常不是他们的第一个Maven构建,所以你的项目的许多传递依赖很有可能已经在他们的本地存储库中,所以他们不必再次下载这些依赖。

 类似资料:
  • 本文向大家介绍既然有了字节流,为什么还要有字符流?相关面试题,主要包含被问及既然有了字节流,为什么还要有字符流?时的应答技巧和注意事项,需要的朋友参考一下 问题本质想问:不管是文件读写还是网络发送接收,信息的最小存储单元都是字节,那为什么 I/O 流操作要分为字节流操作和字符流操作呢? 回答:字符流是由 Java 虚拟机将字节转换得到的,问题就出在这个过程还算是非常耗时,并且,如果我们不知道编码类

  • 这几天在学dart和flutter,真的发现dart和js一模一样,知道google为了取代js才有开发出了dart这个语言,但有一个问题有点不明白,google为什么要再去弄一个本来就有的语言?为了取代js弄出来dart,为了取代java弄出来golang,他们为什么要这样呢? 上面的问题有点想不明白,有懂的吗?

  • 问题内容: Angular对于构建单页应用程序非常有用。它基本上建立在当前范例上,在该范例中我们向不同的端点发出请求,以帮助我们创建更好的单页应用程序。 另一方面,我们拥有的Meteor似乎更加强大,特别是因为它们具有称为DDP的功能,该功能基本上允许双向数据流。看来Meteor是Angular的超集,并且显然是更好的选择。 尽管Angular确实提供了一些诸如测试和本地化之类的功能,但我只是不明

  • 我最近遇到了一个Java8类,它使用分隔符添加字符串并为其添加前缀和后缀,但我不明白这个类的需要,因为它也使用在后端,也执行非常简单的附加字符串操作。 我是否因为没有真正理解这门课的真正目的而错过了什么?

  • 原始关闭原因未解决 既然getToken()已弃用,我想知道获得Firebase令牌以发送消息推送的正确方法是什么。

  • 我们现在可以跳过使用venv创建虚拟环境吗,因为在大多数情况下现在只有python版本3可用? 从python文档中它声明 创建虚拟环境venv(适用于Python 3)和virtualenv(适用于Python 2)允许您管理不同项目的单独软件包安装。它们本质上允许您创建一个“虚拟”隔离的 Python 安装并将包安装到该虚拟安装中。 venv 模块支持创建具有自己的站点目录的轻量级“虚拟环境”