Maven 依赖管理的主要优势是什么? 我们在服务器上有一个版本化的 lib 文件夹,每个开发人员只需要在 IDE 中导入该目录并保持最新。 Maven 能比这更简单吗?
最佳答案
使用每个项目的库似乎是一个简单的解决方案,事实确实如此。但最终你会遇到问题:
- 你怎么记得你从哪里得到
foo.jar
的? - 您确定这是没有黑客篡改的合法来源吗?
foo.jar
到底是哪个版本?它是原始版本还是您修补的版本?- You want JavaDoc/sources with that ?
foo.jar
需要a.jar
需要y.jar
需要z.jar
需要。 .. 您真的想下载所有这些并单独管理吗?- 您开始了第二个项目。现在您有两个 lib 文件夹。您是复制 jar 还是从第一个项目中引用它们?
- 您的第二个项目需要一个 JAR 的不同版本。你如何处理这个问题?
- 假设您想将
foo.jar
升级到下一个版本。使用 Maven,这是一个一分钟的任务。对于 lib 文件夹,它意味着:搜索网络、下载 JAR、将其放在正确的位置、可能重命名、删除旧版本、添加新版本、提交更改、诅咒、对所有依赖项执行相同操作, ... - 您想与其他人分享您的项目。他们可能不想要您的 JAR 版本 - Maven 有一个简单而有效的机制来覆盖依赖项。
- 最终,您的法律部门会要求您保证您的项目没有不兼容的许可证。 Maven 可以为您提供所有依赖项的所有许可证的报告。
关于java - Maven:依赖管理的优点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17230207/