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

时间:2009-09-14 15:53:03

标签: maven-2 ant

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

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

有什么想法吗?

4 个答案:

答案 0 :(得分:14)

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

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

可以找到更多详细信息herehere

答案 1 :(得分:1)

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>

答案 2 :(得分:0)

同意Jherico的回答 - Maven Ant Tasks。请参阅:Why you should use the Maven Ant Tasks instead of Maven or Ivy

它有详细的例子,可以帮助你。

答案 3 :(得分:0)

我使用的是dependency:copy-dependencies专家目标。这将复制target/dependencies上的所有依赖项,因此我只需要在一个ant类路径上的该文件夹中包含所有jar。