现有Ant构建文件的简单Mavenization

dco*_*ish 5 ant maven-2

如果您有现有的ant文件,那么将项目转换为Maven的最佳方法是什么。我已经检查了诸如fAnt之类的东西,但是如果我要弄混这些东西,我不妨对Maven满口。我期望可以基于现有的build.xml为我启动pom.xml的东西存在,但是我还没有发现任何东西。有什么建议吗?

Pas*_*ent 1

我不知道有什么好的自动化方法来进行这样的迁移,因为事情可能太不同了,所以我会手动地、一步一步地进行,并保持现有的 ant 构建与未来的新构建并行,直到整个迁移完成。完成(从技术和人类的角度来看)。

首先,重构现有的 Ant 构建,使其符合 Maven 约定:

  • 使事情模块化:如果您现有的构建是一个大型整体构建,从单个源树生成多个工件,请将其分解为单独的模块,每个模块对应一个工件。
  • 更新目录结构: Maven 附带了一个标准的目录布局,虽然可以自定义此布局(即为另一个布局配置插件),但实际上并不推荐这样做,而且带来的麻烦多于好处。因此,我会移动现有的应用程序源、配置文件、测试等以匹配 Maven 的布局(例如src/main/java应用程序源等)。

然后,开始创建 Maven 构建:

  • 为每个模块创建 POM:创建 POM,将外部库声明为 Maven 依赖项(也许将它们添加到企业存储库,无论如何,在企业环境中使用企业存储库是一个很好的实践),添加模块之间的依赖关系。
  • 完成多模块构建:添加父 POM 和继承/聚合关系。测试创建的工件是否没有回归。

如果您不想在工作完成之前更改任何内容并创建脚本来移动内容,则可以在单独的 VCS 分支中完成此工作。准备好后,合并 Maven 特定的内容并应用脚本。