有没有办法可以使用Maven存储库为Ant添加依赖项?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了有没有办法可以使用Maven存储库为Ant添加依赖项?相关的知识,希望对你有一定的参考价值。

我想知道是否有人看到过将Maven依赖项添加到Ant的技术。我认为Ivy本来是为了做到这一点,但后来我意识到它只是一个Ant风格的依赖管理工具。

在我看来,如果有人扩展Ant以便能够引用Maven依赖(也许只针对开源库),Ant可以捎带至少Maven的一个重要特性,而不必重新发明轮子。

有什么想法吗?

答案

Maven有一组Maven ant任务,可以下载并放在Ant lib目录中。之后,您可以在Ant中声明由POM中的依赖项定义的类路径。这是您可以在build.xml中声明的示例。

<artifact:dependencies filesetId="deps.fileset" type="jar">
  <pom file="mypom.xml"/>
</artifact:dependencies>

更多细节可以在herehere找到。

另一答案

ant tasks有一组Mercury,允许您执行依赖关系管理任务,指定配置(例如服务器凭据),修改/更改ant路径并写入存储库。有关详细信息,请参阅this blog

蚂蚁也有Maven tasks,尽管它们并不完整。 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。

以上是关于有没有办法可以使用Maven存储库为Ant添加依赖项?的主要内容,如果未能解决你的问题,请参考以下文章

缺少项目的POM,没有可用的依赖项信息

Maven与Ant比较

Maven 或 Ivy 用于管理 Ant 的依赖关系?

Netbeans:pom 类型的 Maven 依赖项

如何从maven存储库中清除旧的依赖项?

Maven 可以重新签署依赖项吗?