首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >当依赖jars通过源代码签入时,使用Maven仍然有意义吗?

当依赖jars通过源代码签入时,使用Maven仍然有意义吗?
EN

Stack Overflow用户
提问于 2012-07-12 02:24:30
回答 3查看 121关注 0票数 1

我们将所有源代码的依赖第三方JAR与源代码一起签入到源代码控制中。当需要时,我们手动下载第三方JAR的更新,并用较新的版本替换那些在源代码控制中的JAR。我们还没有感觉到有必要使用Maven,因为这个过程对我们来说似乎足够简单。但是,我们是否因为不使用Maven而错过了一些非常有价值的东西呢?或者我们的场景不需要使用Maven?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-07-12 04:00:25

“罐子不会变”,我经常听到这句话……

在项目开始时,在SCM中存储jars非常简单。随着时间的推移,罐子的数量越来越多……等待两三年,没有人记得jars是从哪里来的,它们的许可条款是什么,以及最常见的是使用了什么版本(在分析安全漏洞时要知道这一点很重要)……

我最近读到的关于仓库管理器的最好的文章是:

  • http://www.sonatype.com/people/2012/07/wait-you-dont-have-a-repository-manager/

有点不可逆转,但对于人们总是遇到的那种技术惯性,确实提出了一个有效的观点。

将项目团队从ANT切换到Maven可能会很可怕……Maven的工作方式完全不同,所以我发现它最适合部署在绿地或喜欢冒险的项目团队中。对于老派的ANT用户,我建议使用Apache ivy插件。Ivy允许这样的团队将其依赖项的管理外包出去,但保留他们熟悉的构建技术。

归根结底,使用Maven的最大好处不是依赖项管理。这是一个标准化的构建过程。我见过几次创建“标准”ANT构建过程的失败尝试。问题每个构建工程师对标准应该是什么都有自己的看法……Maven强迫用户编写构建插件的方法在一开始可能看起来有限制,但就像iPhone一样,最终开发人员发现“有一个Maven插件可以做到这一点”:-)

票数 4
EN

Stack Overflow用户

发布于 2012-07-12 04:28:33

当涉及到依赖管理时,Maven真的非常有价值。正如Mark O‘’Connor所建议的那样,运行本地存储库管理器可能比将工件签入到源代码控制中要好。

有许多工具(如eclipse中的m2e )可以帮助管理依赖项,并提供关于哪些模块或依赖项需要哪些其他依赖项的有价值的反馈。Maven还将确保获得适当版本的依赖项,即使不同的模块依赖于给定库的不同版本。这将有助于防止相同jar的重复版本出现在您部署的项目中,只要它们具有相同的组和工件id。

即使对于一个非常简单的项目,我也不认为我会求助于将依赖项检查到源代码控制系统中。

票数 1
EN

Stack Overflow用户

发布于 2012-07-12 15:10:28

这不仅仅是关于第三方图书馆的。大多数情况下,如果您有多个存储库。在我们的例子中,我们有四个存储库,它们有很多内部和内部依赖关系。实际上,我开始回答这个问题,然后我不得不花15分钟和一些同事讨论一个问题,因为有人忘记更新另一个项目的库目录中的.jar。

它看起来更专业:)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11438980

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档