将Maven项目导入Eclipse

189

我想将现有的Maven项目导入到Eclipse中。 我发现有两种方法:

  1. 通过在命令行中运行mvn eclipse:eclipse
  2. 从Eclipse安装Maven Eclipse插件。

这两种方法有什么区别,哪一种更好?

如果我通过Eclipse菜单Help -> Install New Software安装Maven Eclipse插件,是否仍需要修改我的pom.xml文件以在插件部分中包含Maven Eclipse插件?

8个回答

178
我想将现有的Maven项目导入到Eclipse中。我找到了两种方法,一种是通过命令行运行“mvn eclipse:eclipse”,另一种是从Eclipse安装Maven Eclipse插件。这两者之间有什么区别,哪一个更可取? maven-eclipse-plugin是一个Maven插件,是Maven 1可用的第一个插件之一,并且是迁移到Maven 2的第一个插件之一。很长一段时间以来,它一直是将现有的Maven项目与Eclipse集成的唯一适当方式。实际上,它并没有提供真正的集成,只是从Maven项目生成“.project”和“.classpath”文件(它还具有WTP支持)。我已经使用这个插件多年了,非常满意它的表现(而我对于像m2eclipse这样的Eclipse插件却非常不满意)。

m2eclipse插件是Eclipse Maven插件之一。实际上,它是旨在将Maven集成到Eclipse IDE中的项目中最早也是最成熟的一个(这并不总是这种情况,在约两年前它并不真正可用,参见Mevenide vs. M2Eclipse, Q for Eclipse/IAM中的反馈)。但是,即使我不使用从Eclipse创建Maven项目或POM编辑器或其他花哨的向导之类的东西,我必须说,这个插件现在完全可用,提供非常平滑的集成和很好的功能...换句话说,我最终切换到了它 :) 我现在会向任何用户(高级或初学者)推荐它。

如果我通过Eclipse菜单帮助 ->安装新软件安装maven eclipse插件,我是否仍然需要修改我的pom.xml以在插件部分包括maven eclipse插件?

这个问题有点令人困惑,但答案是否定的。安装m2eclipse插件后,只需右键单击包资源管理器,然后导入... > Maven项目来将现有的Maven项目导入Eclipse。


7
谢谢您关于import的提示,我本来想通过新项目进行操作,但是这样做效果甚微并需要付出大量努力。顺便说一句,当您使用import时,Eclipse会将文件保留在原始位置,而不是将其复制到您的工作区。 - Michael Rusch
只是想澄清一下关于“如果我通过Eclipse菜单安装Maven Eclipse插件...”这部分的内容。你不能将Maven Eclipse插件安装到Eclipse中,因为Maven Eclipse插件是一个Maven插件,而不是Eclipse插件。因此,你不能将Maven Eclipse插件安装到Eclipse中。你可以将M2Eclipse插件安装到Eclipse中。 - Utku
小得可怜的收益需要付出大量的工作。这正是我认为Maven是产生反效果的原因。 - Tastybrownies

87

我对Eclipse或Maven不熟悉,因此其他回答似乎有些过于复杂。

以下更简单的步骤适用于我:

前提条件:确保在您的Eclipse IDE中安装了Maven插件:如何将Maven插件添加到Eclipse

  1. 打开Eclipse
  2. 点击文件 > 导入
  3. 选择导入源:下的搜索框中键入Maven
  4. 选择现有的Maven项目
  5. 点击下一步
  6. 点击浏览并选择作为Maven项目根目录的文件夹(可能包含pom.xml文件)
  7. 点击下一步
  8. 点击完成

3
这实际上是最推荐的解决方案,因为它基于Maven POM配置而不是可能过时的Eclipse .project配置。 - hotzen
我们能否自动化上述步骤?比如使用PowerShell,有CLI吗? - sai
3
还需要注意的是,如果没有安装Eclipse的Maven插件,则该选项将不可用。 - Sina Madani

18
使用mvn eclipse:eclipse将只生成通用的eclipse配置文件,如果您有一个简单的项目,这是可以的;但在像servlet/jsp这样的Web项目中,您需要手动将Java EE功能添加到eclipse(WTP)中。
为了使项目能够通过eclipse服务器部分运行,请配置Apache for Eclipse: 下载并解压缩Apache Tomcat。在Eclipse菜单的Windows -> Preferences -> Servers -> Runtime Environments中添加(创建本地服务器),选择您的Tomcat版本,下一步,浏览到您解压缩的Tomcat目录,然后单击完成。
窗口->显示视图->服务器 将项目添加到服务器列表中。

13

我认为m2eclipse插件更实用。它提供了诸如POM编辑器和在Eclipse中创建Maven项目等很好的工具。


1
不,它们是不同的。我从来没有觉得Maven eclipse:eclipse目标有什么用处。如果您在Eclipse之外拥有开发环境,并且想要为其创建Eclipse项目,则eclipse目标仅有用。如果您只是想使用Maven启动新项目,则使用m2eclipse插件。 - Taylor Leese
1
首先运行命令 "mvn eclipse:eclipse",然后在完成初始项目设置后,您可以使用 m2eclipse 插件。 - Taylor Leese
1
即使要将一个新的Maven项目导入到Eclipse中,我也可以使用“文件->导入->Maven项目”并选择pom.xml文件吗?在这种情况下,我就不需要使用mvn eclipse:eclipse命令了。这样是正确的吗? - Thunderhashy
是的,你也可以这样做。 - Taylor Leese
4
不用在一开始使用eclipse:eclipse,如果你安装了m2eclipse的话就不需要。只需选择“导入...>Maven项目”,无需考虑maven-eclipse-plugin。 - Pascal Thivent
显示剩余2条评论

12

Maven有一个Eclipse插件,而Eclipse也有一个Maven插件,我们将讨论这些内容。当我们使用命令行等东西来使用Maven时,在通过Eclipse时,我们不想看到那些命令行代码,因为它们相当麻烦。Maven和Eclipse提供了良好的集成,它们可以很好地一起工作,感谢那些插件。

步骤1:转到Maven项目。这里我的项目是FirstApp。(例如我的项目是FirstApp)

在那里,您可以看到一个pom.xml文件,现在我们想要使用该pom.xml生成一个eclipse项目。

步骤2:使用mvn eclipse:eclipse命令

步骤3:验证项目

执行此命令后,请注意已创建两个新文件。

注意:这两个文件都是为Eclipse创建的。当您打开这些文件时,您会注意到一个“M2_REPO”类变量被生成。您需要在Eclipse中添加该类路径,否则Eclipse会显示错误。

步骤4:导入Eclipse项目

文件->导入->常规->现有工作区中的现有项目->选择根目录->完成

更多详情请点击这里


我编辑了步骤,但是没有理解第一段足够好以便进行编辑。希望你能够改进它。 - Lance Roberts
比其他人更多或更少是一个完整的答案。 - matanster

0

自Eclipse Neon版本开始,其中包含的Eclipse Maven Integration (m2e) 1.7,推荐使用以下两种方式之一:

  • 文件 > 来自文件系统的项目... - 此方法适用于Eclipse项目(包含文件.project)以及仅包含文件pom.xml的非Eclipse项目。
  • 如果从Git存储库导入,在Git Repositories视图中右键单击存储库节点、一个文件夹或多个选定的文件夹并选择导入项目...。 这将打开同样的对话框,但您不必选择目录。

0

在按照上述步骤导入Maven项目时,我无法成功导入直到我找出了问题出在哪里:

如果您有另一个与同一工件ID的Maven项目,则该Maven项目将无法导入。请确保您的项目在Eclipse工作区中具有唯一的工件ID。


-1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接