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

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


当前回答

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

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

其他回答

如果您只想创建一个默认POM并启用m2eclipse特性:那么我假设您目前没有试图导入的其他自动构建设置,并且我假设您正在谈论m2eclipse插件。

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

更新的M2E版本

右键单击项目->子菜单配置->转换为Maven项目

旧的M2E版本

右键单击Project ->子菜单Maven ->启用依赖项管理。

这将为该项目启用插件做必要的工作。

回答“是否存在自动导入器或向导?”’据我所知没有。使用上述选项将允许您为现有项目启用m2eclipse插件,从而避免手动复制。您仍然需要实际设置依赖项和其他需要自己构建的东西。

我的问题是,是否存在使用Maven插件将现有Eclipse Java项目转换为Maven项目的向导或自动导入器?

据我所知,没有任何东西可以自动地将Eclipse项目转换为Maven项目(即修改布局、创建POM、“生成”并向其提供元数据、检测库及其版本以将它们添加到POM中,等等)。Eclipse没有足够的元数据来实现这一点(这正是POM的意义所在)和/或产生一个不错的结果。

或者我应该创建一个新的Maven项目并手动复制所有源文件、库等等

在我看来,这是最好的选择。创建一个Maven项目,复制/移动源、资源、测试、测试资源到它们各自的目录中,声明依赖项等等。

承东的回答是正确的,你应该使用配置>转换为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安装

从m2e 0.13.0开始(如果不是更早的话),您可以从上下文菜单将Java项目转换为Maven项目。以下是如何做到的:

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

下面是详细的步骤和屏幕截图。

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

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