一段时间以来,我们一直在考虑将构建从蚂蚁移植到Maven。 它发生在上个月,实际上比我们预期的要简单。 根据我的经验,这里简要介绍了我们遵循的步骤。 我们的应用程序是一个具有多个框架和技术的企业Web应用程序构建,并作为单个WAR部署。
1.创建Maven项目目录结构
如Maven用户指南中所述,创建以下目录结构。 我们已经在项目的新文件夹下完成了此操作。
2.移动文件/文件夹并保留SCM日志
即使文件夹结构是新的,源文件也将是旧文件! 我们希望在将SCM日志移到新位置时保留它们。 在开始移动文件之前,请记住先提交在步骤1中创建的文件夹。 如果你使用SVN,请参阅本用户指南或SO问题上如何做到这一点。 将Java源代码,单元/集成测试和配置资源移动到适当的文件夹中。
3.创建POM并添加依赖项
迁移中最关键的部分是在POM中添加依赖项。 首先添加应用程序中使用的框架的依赖关系。 确保您添加的罐子版本正确。 您可以通过阅读jar的META-INF文件夹中的MANIFEST.MF文件来找到jar的版本。 如果文件名中缺少版本,这将有所帮助。
任何第三方jar文件可以被添加到Maven仓库中所讲述这里 。 如果您使用的jar文件版本非常旧,则其中的某些文件可能在maven存储库中不可用。在这里,您可以尝试升级到较新版本或按照之前的说明准备本地安装。 添加所有依赖项后,请尝试构建应用程序。 注意任何重大问题。
4.确保您在WAR中没有做太多更改
Maven是一个构建工具。 这意味着您的WAR不应更改。 因此,在最后一步中,我们将比较两个版本并确保它们相同。 确保您掌握所有差异。 另外,比较由maven生成的jar文件和您现有的文件,通过以下方式进行同步:
- 添加<exclusions>删除不需要的罐子
- 为缺少的罐子添加依赖项
根据您lib中的jar数量,这可能是一项艰巨的任务。 但是,请确保您涵盖了每一个内容,并知道它们为什么存在于您的应用程序中。
可能这是一个较晚的帖子,到目前为止,大多数应用程序可能已经迁移了。 无论如何,迟到总比没有好! 许多专家认为, Gradle作为新项目的构建工具也是不错的选择 。
翻译自: https://www.javacodegeeks.com/2014/02/4-simple-steps-to-migrate-legacy-projects-from-ant-to-maven.html