对于工作中的项目,我们正在考虑使用Eclipse的Maven插件来自动化我们的构建。现在,这个过程比它应该做的要复杂得多,我们希望Maven能将事情简化为一键构建。

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


当前回答

对于转换到Gradle是类似于Maven:

右键单击项目->子菜单配置->转换为Gradle (STS)项目

其他回答

这是必要的,因为或多或少,当我们从git导入一个项目时,它不是一个maven项目,因此maven依赖项不在构建路径中。

以下是我将一个普通项目转变为专业项目所做的工作。

一般项目——>java项目 右键单击项目,属性->项目facet,单击“java”。 这一步将把一个普通项目变成java项目。

Java项目——> maven项目 右键单击项目,配置——>转换为maven项目 此时,maven依赖库仍然不在构建路径中。 项目属性,构建路径,添加库,添加maven依赖库

等待几秒钟,当加载依赖项时,项目就准备好了!

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

这将创建一个自动生成的pom.xml文件。在eclipse编辑器中以xml格式打开该文件。在build标签后(</build>)添加你的依赖项,你可以从maven网站复制并添加它们。现在可以开始了。这些依赖项将自动添加您所需的jar文件。

承东的回答是正确的,你应该使用配置>转换为Maven项目。但是,我必须补充的是,自从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安装

对于转换到Gradle是类似于Maven:

右键单击项目->子菜单配置->转换为Gradle (STS)项目

我也遇到了同样的问题,想要maven化包含大约60个eclipse项目的整个eclipse工作空间。手动这样做需要大量的时间,替代方案也不那么可行。为了解决这个问题,我最终在github上创建了一个名为eclipse-to-maven的项目。由于eclipse没有关于依赖关系的所有必要信息,它会执行以下操作:

Based on <classpathentry/> XML elements in .classpath file, it creates the dependencies on another project, identifies the library jar file and based on its name (for instance jakarta-oro-2.0.8.jar) identifies its version. Currently artifactId and groupId are same as I couldn't find something which could return me the Maven groupId of the dependency based on artifactId. Though this is not a perfect solution it provides a good ground to speed up Mavenisation. It moves all source folders according to Maven convention (like src/main/java) As Eclipse projects having names with spaces are difficult to deal on Linux/Unix environment, it renames them as well with names without spaces. Resultant pom.xml files contain the dependencies and basic pom structure. You have to add required Maven plugins manually.