将现有Eclipse项目转换为Maven项目
对于工作中的项目,我们正在考虑使用Eclipse的Maven插件来自动化我们的构建。 现在这个过程比它应该更加复杂,我们希望Maven能够将事物简化为一次构建。
我的问题是,有没有使用Maven插件将现有Eclipse Java项目转换为Maven项目的向导或自动导入器? 或者我应该创建一个新的Maven项目并手动复制所有源文件,库文件等
如果你只是想创建一个默认的POM并启用m2eclipse功能:所以我假设你目前没有你想要导入的替代自动构建设置,并且我假设你正在讨论m2eclipse插件。
m2eclipse插件在项目上提供了一个右键单击选项来添加这个默认的pom.xml:
较新的M2E版本
右键点击Project - > submenu Configure - > Convert to Maven Project
较老的M2E版本
右键单击项目 - >子菜单Maven - >启用依赖管理。
这将做必要的启用该项目的插件。
要回答' 有没有自动进口商或向导? ': 从来没听说过。 使用上面的选项将允许您为现有项目启用m2eclipse插件,避免手动复制。 您仍然需要实际设置您需要构建自己的依赖关系和其他内容。
从m2e 0.13.0开始(如果不早于),可以从上下文菜单中将Java项目转换为Maven项目。 这里是:
以下是屏幕截图的详细步骤。
我遇到了同样的问题,并希望Mavenise包含大约60个Eclipse项目的整个Eclipse工作区。 这样做需要大量的时间和备选方案,但这并不可行。 为了解决这个问题,我最终在github上创建了一个名为eclipse-to-maven的项目。 由于eclipse没有关于依赖关系的所有必要信息,因此它执行以下操作:
基于.classpath文件中的<classpathentry/>
XML元素,它创建了另一个项目的依赖项,标识库jar文件并基于其名称(例如jakarta-oro-2.0.8.jar)标识其版本。 目前artifactId
和groupId
是相同的,因为我找不到可以返回基于artifactId
的依赖项的Maven groupId的内容。 尽管这不是一个完美的解决方案,但它为加速Mavenisation提供了良好的基础。
它根据Maven约定移动所有源文件夹(如src/main/java
)
由于具有空格名称的Eclipse项目在Linux / Unix环境下很难处理,因此它们会重命名并且名称不含空格。
生成的pom.xml文件包含依赖关系和基本的pom结构。 您必须手动添加必需的Maven插件。