【发布时间】:2010-11-28 04:33:06
【问题描述】:
我想知道是否有人见过将 Maven 依赖项添加到 Ant 的技术。我原以为 Ivy 就是要这么做的,但后来我意识到它只是一个 Ant 风格的依赖管理工具。
在我看来,如果有人将 Ant 扩展为能够引用 Maven 依赖项(可能仅适用于开源库),Ant 可以搭载 Maven 的至少一项出色功能,而无需重新发明轮子。
有什么想法吗?
【问题讨论】:
我想知道是否有人见过将 Maven 依赖项添加到 Ant 的技术。我原以为 Ivy 就是要这么做的,但后来我意识到它只是一个 Ant 风格的依赖管理工具。
在我看来,如果有人将 Ant 扩展为能够引用 Maven 依赖项(可能仅适用于开源库),Ant 可以搭载 Maven 的至少一项出色功能,而无需重新发明轮子。
有什么想法吗?
【问题讨论】:
【讨论】:
Mercury 有一组 ant tasks,允许您执行依赖管理任务、指定配置(例如服务器凭据)、修改/更改 ant 路径和写入存储库。详情请见this blog。
还有 Maven tasks 用于 ant,尽管它们的功能并不完整。 Maven 正在向 Mercury 发展(尤其是 Maven3),因此使用 Mercury 任务是有意义的。
以下配置从指定的 pom 中读取依赖项,并使用生成的路径填充指定的变量:
<path id="my.compile.path">
<deps>
<dependency name="groupId:artifactId:1.0::pom"
pom="${basedir}/artifactId-1.0.pom"/>
</deps>
</path>
【讨论】:
同意 Jherico 的回答 - Maven Ant Tasks。参考这个:Why you should use the Maven Ant Tasks instead of Maven or Ivy
它有详细的例子,应该可以帮助你。
【讨论】:
我使用的是dependency:copy-dependencies maven 目标。这将复制target/dependencies 上的所有依赖项,因此我只需要在一个 ant 类路径中包含该文件夹中的所有 jar。
【讨论】: