我知道,我们可以很好地结合使用 ANT 和 Maven 来构建项目。我们可以通过 Maven 的 POM.xml 运行 ANT 脚本。但我的问题是我们可以通过 ANT 的 build.xml 运行 pom.xml 吗?即我们可以从 build.xml 创建 Maven 构建吗
问问题
8067 次
2 回答
8
是的,使用maven ant 任务。
该页面列出了多个可以集成到 ant 构建脚本中的 maven 任务,从而结合了两者的特性。举个例子,有mvn 任务,据记载,它可以从 ant 进行完整的 maven 构建。
<artifact:mvn mavenHome="/path/to/maven-3.0.x">
<arg value="install"/>
</artifact:mvn>
除此之外,还有
- 依赖任务
- 安装和部署任务
- Pom 任务
每个都用例子描述。
于 2011-09-26T09:48:30.917 回答
1
Maven和ANT是非常不同的构建工具。在 ANT 中,您自己编写所有逻辑,而标准的构建过程是使用 Maven “嵌入”的。POM 文件不包含任何逻辑,而是包含一系列关于您的项目的声明。
如果您很好地了解 Maven 的工作原理,理论上可以使用 POM 并生成模拟 Maven 构建行为的 ANT 构建。我不知道有任何解决方案可以轻松地向另一个方向转换,主要是因为 ANT 缺少 Maven 功能,例如依赖项管理。
我建议您保留现有的构建逻辑并将类路径的管理委托给ivy或Maven ANT 任务,而不是尝试将 ANT 构建转换为 Maven。这些工具还提供将构建输出发布到 Maven 存储库的任务,使您的项目能够与使用 Maven 的其他项目共享。
最后,我是ivy的拥护者,写了一个ant2ivy脚本,可以帮助升级过程。它创建一组初始配置文件,用于从 Maven 中央存储库下载项目依赖项。
于 2011-09-26T21:15:46.050 回答