Maven:依赖管理的优势

arg*_*gon 8 java maven

Maven依赖管理的主要优点是什么?我们在服务器上有一个版本化的lib文件夹,每个开发人员只需要在IDE中导入该目录并使其保持最新.Maven比那简单吗?

Aar*_*lla 12

使用每个项目的lib似乎是一个简单的解决方案,它是.但最终你会遇到问题:

  • 你怎么记得你从哪里来的foo.jar
  • 你确定这是一个没有黑客篡改的合法来源吗?
  • foo.jar究竟是哪个版本?它是原始版本还是你修补过的东西?
  • 你想要JavaDoc /来源吗?
  • foo.jar需要a.jar哪些需要y.jar这需要z.jar需求......你真的要下载的一切,单独管理呢?
  • 你开始第二个项目.现在你有两个 lib文件夹.您是复制罐子还是从第一个项目中引用它们?
  • 您的第二个项目需要一个JAR的不同版本.你怎么处理这个?
  • 想象一下,您想要升级foo.jar到下一个版本.对于Maven,这是一项一分钟的任务.使用lib文件夹,它意味着:搜索Web,下载JAR,将其放在正确的位置,可能重命名,删除旧版本,添加新版本,提交更改,诅咒,对所有依赖项执行相同操作, ...
  • 您想与其他人分享您的项目.他们可能不想要您的JAR版本 - Maven有一个简单而有效的机制来覆盖依赖项.
  • 最终,您的法律部门会要求您保证您的项目没有不兼容的许可证.Maven可以为您提供所有依赖项的所有许可证的报告.