将现有Eclipse项目转换为Maven项目

Tom*_*m G 242 java eclipse maven-2

对于正在工作的项目,我们正在考虑使用Eclipse的Maven插件来自动化我们的构建.现在这个程序远比它应该复杂得多,我们希望Maven能够简化一键构建.

我的问题是,是否有使用Maven插件将现有Eclipse Java项目转换为Maven项目的向导或自动导入程序?或者我应该创建一个新的Maven项目并手动复制所有源文件,库等.

小智 292

从m2e 0.13.0开始(如果不早于),您可以从上下文菜单中将Java项目转换为Maven项目.方法如下:

  • 右键单击Java项目以弹出上下文菜单
  • 选择配置>转换为Maven项目

以下是屏幕截图的详细步骤.

  • 这仍然不会创建目录结构并在pom中添加依赖项. (29认同)
  • 这也适用于eclipse中的Android项目吗? (2认同)
  • m2e仍然没有创建maven目录结构并在pom中添加依赖项吗? (2认同)
  • 下面提到的我的解决方案(@ShriKant Vashishtha)解决了此处描述的所有问题。创建Maven结构,删除文件夹名称中的空格,创建pom.xml并在Maven结构中移动源文件夹 (2认同)

bra*_*ter 138

如果你只是想创建一个默认的POM并启用m2eclipse功能:所以我假设你现在没有你想要导入的替代自动构建设置,我假设你在谈论m2eclipse插件.

m2eclipse插件在项目上提供了一个右键单击选项来添加这个默认的pom.xml:

较新的M2E版本

右键单击Project - >子菜单Configure - > Convert to Maven Project

较旧的M2E版本

右键单击Project - > submenu Maven - > Enable Dependency Management.

这样就可以为该项目启用插件.


要回答' 是否有自动导入程序或向导?': 从来没听说过.使用上面的选项将允许您为现有项目启用m2eclipse插件,避免手动复制.您仍然需要实际设置自己构建所需的依赖项和其他内容.

  • 从右键菜单(最新的m2eclipse)开始,maven菜单项不可用,chengdong的答案有效. (16认同)
  • @Jesper菜单项是"配置/转换为Maven项目" (12认同)
  • 在当前版本的Eclipse(4.2)和m2eclipse上,菜单项是Convert/Convert to Maven Project. (8认同)

Shr*_*tha 12

我遇到了同样的问题,希望Mavenise整个eclipse工作区包含大约60个Eclipse项目.手动这样做需要很多时间,而备选方案并不可行.为了解决这个问题,我终于在github上创建了一个名为eclipse-to-maven的项目.由于eclipse没有关于依赖项的所有必要信息,因此它执行以下操作:

  • 基于<classpathentry/>.classpath文件中的XML元素,它在另一个项目上创建依赖项,标识库jar文件并根据其名称(例如jakarta-oro-2.0.8.jar)标识其版本.目前artifactIdgroupId我一样,找不到可以返回基于的依赖的Maven groupId的东西artifactId.虽然这不是一个完美的解决方案,但它为加速Mavenisation提供了良好的基础.

  • 它根据Maven约定移动所有源文件夹(如src/main/java)

  • 由于具有空格名称的Eclipse项目很难在Linux/Unix环境中处理,因此它也会使用没有空格的名称重命名它们.

  • 生成的pom.xml文件包含依赖项和基本pom结构.您必须手动添加所需的Maven插件.


Oma*_*nik 7

右键单击项目名称>配置>转换为Maven项目>单击完成.在这里,您将添加一些依赖项以下载并添加您期望的jar文件.

这将创建一个自动生成的pom.xml文件.在eclipse编辑器中以xml格式打开该文件.在构建标记(</build>)之后添加您可以从maven网站复制的依赖项并将其添加到那里.现在你很高兴.这些依赖项将自动添加您所需的jar文件.


Fre*_*con 5

城东的答案是对的,你应该用Configure>Convert to Maven Project.但是,我必须添加转换过程已大大改进,因为m2e 0.13.0:m2e 1.1+和m2e-wtp 0.16.0+现在可以将现有的eclipse设置转换为maven插件配置.

至于依赖转换问题,您可以尝试JBoss Tools(JBT)4.0 Maven集成功能,其中包含一个实验性转换向导,插入m2e的转换过程:http://docs.jboss.org/tools/whatsnew/maven/ maven-news-4.0.0.Beta1.html.

它并没有假装是最终的解决方案(没有什么可以),它应该可以极大地帮助引导您的Maven转换过程.

另外,仅供参考,这里有一些想法可以增强m2e的转换过程,重构使用Maven布局很可能会在将来实施.

JBT 4.0(需要Eclipse JavaEE Juno)可以从http://download.jboss.org/jbosstools/updates/stable/juno/或从Eclipse Marketplace安装