2012-04-16 96 views
5

Netbeans和Eclipse在使用Maven项目时有什么不同?NetBeans和Eclipse在Maven项目中的差异

+0

你在Eclipse中使用“m2e”吗? – 2012-04-16 15:12:21

+0

我不太记得我是如何获得插件的。当我看看Eclipse> Help> Software时,我在已安装的软件中看到一些Maven **,但没有一个被命名为M2E。 – rk2010 2012-04-16 15:16:52

+1

'NetBeans不支持Apache Maven'。 NetBeans只是将Apache Maven项目视为“天生”。没有插件,没有可笑的工作区(im | ex)端口。这就是我使用NetBeans的原因。 – 2013-02-28 15:07:17

回答

8

我Eclipse用户,但要完全诚实的,我不得不说,在Eclipse的Maven的支持并不完美,往往会导致你的清洁解决,重新编译奇怪的错误,再生项目文件等

由于据我所知,IDEA和NetBeans对Maven有更好的支持。

2

m2e是“最新”的maven eclipse集成(不要与旧的m2eclipse混淆)。我真的很感谢所有花时间来开发eclipse,maven和m2e的人 - 这是我的日常工作设置,但是m2e远非完美。只要看看最新的“M2E plugin execution not covered”的困境。如果您使用非主流插件,则必须修改您的pom.xml以使用m2e - 只是为了避免在eclipse中发生项目错误。

要运行我的mave命令,我更喜欢命令行而不是m2e。

据我所知Netbeans使用maven更“原生”,因此没有那种类型的集成问题。但我不确定。如果你有选择,你应该比较两种可能性。

3

从基于maven的项目开始,在Netbeans和IDEA中比使用Eclipse更容易。

  • 在Eclipse中,您必须将现有项目配置为使用maven。首先启用一个适当的maven插件
  • 使用Netbeans和maven要容易得多。打开 - >项目 - >选择pom.xml并准备就绪
  • IDEA有类似的方法。你只需要从现有的pom.xml导入项目

我选择了IDEA作为我最喜欢的IDE,我对maven的支持非常满意。有时我必须打开NetBeans,并且至少Maven支持按预期工作。我自己的Eclipse经验有些过时,但我听到很多来自我的同事使用Eclipse和Maven一起使用Eclipse的投诉。

3

NetBeans原生支持Maven。

那是什么意思?这意味着如果你在NetBeans中有一个基于Maven的项目,那么pom.xml就是IDE用于项目定义的东西。 POM 的定义!

将此对比于Eclipse,其中Maven支持在Eclipse的项目定义之上被锚定。这意味着任何Eclipse解决方案都必须专注于转换Eclipse自己的项目定义和POM。我相信这是Eclipse有时不太理想的Maven支持的根本原因。

在NetBeans中,如果您的项目是基于Maven的,那么所有的操作均由Maven执行。即使是“运行”操作也是由Maven有效完成的。 IDE只触发它。具有这种一致性意味着您可以确保您的项目的行为完全相同,例如,在非Jenkins/Hudson等非IDE环境中。

我遇到过很多认为Maven麻烦的人。当你多说一些时,事实证明他们的糟糕体验在很大程度上取决于他们从Eclipse内部使用Maven 的经验,而不是Maven本身。 Eclipse的用户倾向于认为这只是它应该的方式,因为他们从未见过其他任何东西。 (NetBeans用户在NetBeans次优和Eclipse发光的领域中的做法相反)

让我们毫不怀疑:Eclipse具有许多优点。 Maven的支持不是其中之一。

1

我已经使用Eclipse和Netbeans。我在大学里使用了更多的Eclipse,并且在Eclipse和Netbeans之间的专业上它是混合的。

Eclipse远胜于Netbeans,具体取决于域名。 如果你想和scala一起工作 - 没有其他办法,eclipse scala插件被大量维护,并且比Netbeans工作得更好。如果你想与Perl一起工作,同样的事情。 如果你有一个超过50个大型模块的大型项目,并且需要进行交叉重构,那么使用mvn eclipse可以加快速度:在你的根目录下使用eclipse,并且使用eclipse导入和构建项目,然后从重构开始。

这就是说,当你在做功能开发。你的基础项目是由maven在CI中构建的。哦!然后我可以向你保证,Netbeans比eclipse要好很多年。当您将Maven作为构建工具添加到公式中时,他们不在同一联盟中。

在eclipse中,你必须放弃并说: - 它超出了我让日食工作作为我自己的工具,我远离命令行。如果我甚至去了一个文件夹,并做mvn干净安装,日食与我斗争。

对于netbeans,他只是不想重新发明轮子。他让maven做maven的工作,并建立你的项目。它确实运行你的测试。我个人认为,对于Java EE开发 - 即添加特性和“不”进行交叉切割大规模重构,并且您的项目基于maven构建,Netbeans是迄今为止最好的IDE。这十分完美。 它本身就很简单。简单而舒适的用户界面。 完美的调试器。 完美的JSF bean导航。 完美的maven集成。 与Jrebel完美合作。 Netbeans简单而超级有效。

我发现Eclipse是我的敌人,当我想使用maven来运行所有的单元测试或wahtever的原因。如果我想部署由maven构建的WAR ...最好不要!我需要绝对让自己进入日食并让它拥有一切。我需要远离命令行。