为什么 Maven 有这么糟糕的代表?[已关闭]

互联网上有很多关于Maven如何糟糕的讨论。几年来,我一直在使用Maven的一些功能,在我看来,最重要的好处是依赖关系管理。

Maven文档不够充分,但通常当我需要完成某些事情时,我会弄清楚一次,然后它就可以工作了(例如,当我实现对jars进行签名时)。我不认为Maven是伟大的,但它确实解决了一些问题,如果没有它,这将是一个真正的痛苦。

那么,为什么 Maven 有这么糟糕的代表,将来我还能期待 Maven 出现什么问题呢?也许有我不知道的更好的选择?(例如,我从未详细看过艾薇。

注意:这不是试图引起争论。这是清除FUD的尝试。


答案 1

大约六个月前,我研究了maven。我们正在启动一个新项目,没有任何遗产需要支持。可是:

  • Maven是全有或全无的。或者至少就我从文档中可以看出的而言。你不能轻易地使用maven作为蚂蚁的直接替代品,并逐渐采用更高级的功能。
  • 根据文件,Maven是超然的幸福,可以让你所有最疯狂的梦想成真。你只需要冥想手册10年,你就会开悟。
  • Maven 使您的构建过程依赖于您的网络连接。
  • Maven 有无用的错误消息。将蚂蚁的“目标x在项目y中不存在”与mvn的“无效任务'运行”进行比较:你必须指定一个有效的生命周期阶段,或者以 plugin:goal或 pluginGroupId:pluginArtifactId:pluginVersion:goal的格式指定目标。 然后是 BuildFailureException 的堆栈跟踪。

我对 Maven 的厌恶很大程度上可以通过以下摘自 Better Builds with Maven 来解释:

当有人想知道Maven是什么时,他们通常会问“Maven到底是什么?”,他们期望得到一个简短的,声音片段的答案。“好吧,它是一个构建工具或脚本框架”Maven不仅仅是三个无聊,没有启发性的词。它是思想,标准和软件的结合,不可能将Maven的定义提炼为简单的消化声音片段。革命性的思想往往很难用言语传达。

我的建议是:如果你不能用文字传达这些想法,你就不应该试图写一本关于这个主题的书,因为我不会通过心灵感应来吸收这些想法。


答案 2
  • 它从一开始就强加给你严格的结构。
  • 它是基于XML的,所以它像ANT一样难以阅读。
  • 它的错误报告是晦涩难懂的,当事情出错时,会让你陷入困境。
  • 文档很差。
  • 它使困难的事情变得容易,简单的事情变得困难。
  • 维护 Maven 构建环境需要花费太多时间,这违背了拥有全唱歌构建系统的意义。
  • 需要很长时间才能弄清楚您在maven中发现了一个错误,并且没有配置错误。这些错误确实存在,而且是在令人惊讶的地方。
  • 它承诺了很多,但背叛了你,就像一个美丽而诱人的,但在情感上冷漠和操纵性的情人。

推荐