首页 > 解决方案 > 如何用 Maven 打包 Ant 项目?

问题描述

在我正在处理的项目中,有一个外部依赖项在公共 Maven 工件索引上不可用,但是有一个包含项目代码的公共存储库。该项目是使用原生构建的ant

我们计划做的是自动下载依赖代码,为其提供一个 POM 文件,然后将其构建为我们基于 Maven 的大项目的一部分。

到目前为止,我已经设法创建了一个 POM 文件来编译依赖项,maven-ant-plugin但我无法将项目安装到本地 Maven 存储库中,mvn install跳过使用 ant 编译的 jar 和类,只安装一个空的虚拟 jar。

到目前为止,谷歌搜索没有给出任何结果,每个人都建议重新排列代码以适应默认的 maven 目录结构并使用 maven 构建它,但这会使从上游更新依赖项变得不可能,因为那样我将不得不再次重新排列文件时新的上游版本发布。

目标是有一个 POM 文件,我可以将其放入 ant 项目的根目录中,更新版本号,然后执行 mvn install 并使已编译的 jar 在本地 maven 存储库中可用。

如何让 maven 识别 ant 编译的 jar 或 ant 编译的类?

标签: javamavenjarantmaven-jar-plugin

解决方案


我建议你使用install:install-file目标。

它允许您明确说明应该安装哪个 jar 和哪个 POM。

我曾经以同样的方式做到这一点:添加了一个 POM,它首先通过 Ant 构建所有内容,然后调用install-file生成的工件的目标。


推荐阅读