与蚂蚁相比,使用maven的主要好处是什么?与其说它是一种有用的工具,不如说它是一种烦恼。我使用maven 2和普通Eclipse (没有m2eclipse)和tomcat。
maven的支持者认为
以我的经验
还是我做错了?请给我指出正确的方向,我全神贯注。
发布于 2010-08-28 08:01:14
找出包的依赖关系其实并不难。反正你也很少这么做。可能是在项目设置期间一次,而在升级期间则很少。使用maven,您将最终修复不匹配的依赖项、编写不好的poms,以及无论如何执行包排除。
没那么难..。玩具项目。但是我从事的项目有很多,非常多,而且我很高兴能让他们过渡,为他们制定一个标准化的命名方案。手工管理这一切将是一场噩梦。
是的,有时您必须处理依赖关系的收敛问题。但是仔细考虑一下,这不是Maven固有的,这是任何使用依赖关系的系统所固有的(我在这里讨论的是Java依赖关系)。
因此,使用Ant,您必须执行相同的工作,但您必须手动完成所有操作:获取项目A及其依赖项的某些版本,获取项目B及其依赖项的某些版本,确定它们使用的确切版本,检查它们是否重叠,检查它们是否不兼容等等。欢迎来到地狱。
另一方面,Maven支持依赖关系管理,并将为我临时检索它们,并为我提供了管理依赖关系管理所固有的复杂性所需的工具:我可以分析依赖树,控制在传递依赖项中使用的版本,如果需要的话排除其中的一些依赖项,控制跨模块的聚合,等等。但至少你有支持。
不要忘记,依赖管理只是Maven所提供的一部分,还有更多(甚至没有提到其他与Maven很好地集成的工具,例如声纳)。
缓慢的修复-编译-部署-调试周期,这会降低生产率。这是我的主要抱怨。如果进行更改,则必须等待maven构建启动并等待其部署。没有任何热部署。
首先,为什么像这样使用Maven?我没有。我使用我的IDE编写测试、代码,直到它们通过、重构、部署、热部署和运行本地Maven构建时,当我完成之前,提交,以确保我不会破坏连续的构建。
其次,我不确定使用Ant是否会使事情变得更好。根据我的经验,使用二进制依赖项构建模块化Maven比典型的单块Ant构建要快得多。无论如何,查看一下Maven壳牌,以便(重新)使用Maven环境(顺便说一句,这太棒了)。
最后,我很遗憾地说,这并不是真的是Maven扼杀了你的生产力,而是你滥用了你的工具。如果你对此不满意,那我该怎么说,别用了。就我个人而言,我从2003年起就开始使用Maven了,我从未回头看过。
发布于 2010-08-28 07:49:25
Maven可以被看作是完整的项目开发工具,而不仅仅是像Ant这样的构建工具。您应该使用带maven插件的Eclipse来解决所有问题。
下面是Maven的几个优点,引用自使用Maven的好处页面:
亨宁
伊曼纽尔·韦尼斯
杰西·麦康奈尔
文森特·马索尔
发布于 2010-08-28 05:26:12
找出小型项目的依赖关系并不难。但是,一旦您开始处理具有数百个依赖项的依赖树,事情就很容易失控。(我是从这里的经验.)
另一点是,如果使用带有增量编译和Maven支持的IDE (如Eclipse+ m2eclipse),那么您应该能够设置编辑/编译/热部署和测试。
我个人不会这么做,因为我开始不相信这种开发模式,因为过去的经验很糟糕(pre )。也许有人可以评论一下这是否真的适用于Eclipse+ m2eclipse。
https://stackoverflow.com/questions/3589562
复制相似问题