哪个是最好的 Maven Eclipse 插件? [关闭]
Posted
技术标签:
【中文标题】哪个是最好的 Maven Eclipse 插件? [关闭]【英文标题】:Which is the best Maven Eclipse plugin? [closed] 【发布时间】:2010-09-23 05:53:03 【问题描述】:Maven 有两个可用的 Eclipse 插件:
Eclipse IAM(旧名是Q4E) m2eclipsem2eclipse 似乎是最古老但更强大的。两者之间有什么关键区别吗?
从今天开始的项目应该选择哪一个?为什么?
更新: m2eclipse 将移至 eclipse.org,并将包含在 Indigo 发布系列 (Eclipse 3.7) 中。请参阅 m2e at Eclipse: What will this mean for you? 和 m2eclipse is moving to eclipse.org!。因此,接受的答案更加正确。
【问题讨论】:
如何判断这些 2 年前的答案是否是最新的? 答案仍然是最新的。但问题不再是真正的问题了,因为 m2eclipse 正在转移到 eclipse.org 的过程中。我会用信息更新问题。 Eclipse IAM 不适用于 Eclipse Indigo bugs.eclipse.org/bugs/show_bug.cgi?id=351691 m2e 有相当多的错误并引入了新的烦恼(请参阅:M2E plugin execution not covered),但如上所述,IAM 在 Indigo 下根本不起作用。 【参考方案1】:我选择 m2eclipse 是因为它稳定且拥有我需要的一切。特别是能够解决工作空间内的依赖关系。
我前段时间试过另一个,但不喜欢它。太马车了,所以我很快就放弃了。
【讨论】:
我对 0.10.0 有完全相反的体验,最近遇到了多个 m2eclipse 错误,比如在 pom 编辑后资源消失,更新快照不起作用等等 @mglauche 我遇到了同样的问题,有时我的整个源目录都被删除了【参考方案2】:并排比较移至http://web.archive.org/web/20150526230611/http://docs.codehaus.org/display/MAVENUSER/Eclipse+Integration
【讨论】:
【参考方案3】:对于我作为一个完整的 Maven 新手来说,m2eclipse 插件运行良好。我们用它管理大约 15 个项目。嵌套的 Maven 项目在 Eclipse 中将是扁平的(因为它不支持嵌套项目),但所有这些项目都是自动以正确的方式设置的,所以一切正常。到目前为止,我从来不需要手动调用 Maven 命令,因为我使用预配置的“运行方式”启动配置做得很好。
对我来说,m2eclipse 的质量可以通过这个简单的例子来判断:如果你在 JRE 而不是 JDK 上运行 Eclipse,m2eclipse 会显示一个警告,它的某些功能依赖于 JDK。尽管如此,它仍然适用于 JRE。警告对话框包含指向有关命令行参数的 Eclipse 文档和“已安装 JRE”首选项的超链接,因此您可以轻松修复错误的 Java VM。
也就是说,我不能代表或反对 IAM,因为由于 m2eclipse 的良好体验,我从未使用过它。
【讨论】:
【参考方案4】:Side by side comparison of Maven plugins for Eclipse。它尚未更新为最近添加的功能。例如,请参阅 m2eclipse 的 New and Noteworthy 页面。
【讨论】:
【参考方案5】:m2eclipse 还可以(比 1-2 年前更可靠),但是 m2eclipse 的附加功能(WTP 集成所需的 - WTP 使您能够在 IDE 中运行服务器)是另一回事 - Codehaus 不支持。每周有几次你会发现它没有将资源复制到应用服务器,或者你得到一个 NPE,或者其他一些问题。
我没有使用过 Eclipse IAM,但由于这些 WTP 问题,我在寻找 m2e 的替代品时发现了这个页面。我想 Intellij 正在打电话。
【讨论】:
是的,我经历过那种痛苦。我必须说在 Eclipse 中禁用自动构建对此有很大帮助。我认为 m2eclipse 可能在每次构建时做的太多了。【参考方案6】:m2eclipse 适用于小型项目。但它在大型企业项目中表现很差。即使是 POM 中的最小更改也会导致此插件“更新依赖项”数小时......
自从我们切换到 IAM 后,问题几乎消失了。即使它需要一段时间来应对 POM 的变化,与小时 (m2e) 相比,它仍然像分钟一样。
选择:
m2e - 如果您的项目很小,并且您喜欢依赖树等花哨的功能 iam - 如果你需要性能【讨论】:
【参考方案7】:我使用了 m2eclipse。但是我从来没有设法从 Eclipse 中启动测试或整个项目(该项目有各种子模块的嵌套文件夹)。当我使用它时,他们说对此的支持是实验性的。我能得到的最多的是语法检查等。其余的我使用控制台。
完全不喜欢这种体验。
【讨论】:
【参考方案8】:多模块项目呢?,m2eclipse插件无效。特别是如果我们使用 war 模块。
【讨论】:
为什么? m2eclipse 在我耳中使用多模块战争项目对我来说工作得很好。您可能必须关闭从父项目的工作区解析...但它可以工作。 如果我关闭“解决工作区工件”,那么我必须清理依赖于超级 pom 的所有项目(eclipse/project/clean):(我不想在之后重复清理过程maven clean, install 等。因为项目会出错。但是如果我在命令提示符下运行它,什么都没有发生,一切顺利。 我无法修复它。我无法在 m2eclipse 中编译和安装超级项目,war 项目给出“拒绝访问”之类的错误,我认为插件无法复制或移动 jar 文件到 war 项目输出路径,我不知道。所以我在eclipse中使用m2eclipse插件进行依赖管理等。我使用mvn命令提示符在super pom上进行处理,直到找到解决方案。【参考方案9】:我正在使用 m2eclipse ...这也是最好的和有据可查的...
【讨论】:
以上是关于哪个是最好的 Maven Eclipse 插件? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章
用Maven+IDEA+Eclipse组合获得最好的OpenJML体验
eclipse不能启动,An internal error occurred during: "reload maven project".