【问题标题】:ant/maven integrationant/maven 集成
【发布时间】:2009-09-01 20:03:26
【问题描述】:

我有一个由 Maven 构建和管理的项目。我有第二个项目,它有一个 ant 构建。我想从 ant 项目中引用 maven 项目并引入所有必需的依赖项。谁能建议一种方法来做到这一点?

谢谢,

杰夫

【问题讨论】:

  • 对于那些提到 Ivy 的人,有没有更简单的方法可以让现有的 ant 构建从其他项目中找到依赖项?还是我需要设置 Ivy 并将其与 maven 集成?谢谢。

标签: maven-2 ant integration


【解决方案1】:

maven-ant-tasks 非常适合这类事情。

【讨论】:

    【解决方案2】:

    你可以使用Ivy:

    因此,常春藤可以用来带来 maven的依赖管理特性 到 Ant 构建文件,对于你们这些人 谁已经在使用 Ant 而谁没有 想建立一个maven项目。

    【讨论】:

      【解决方案3】:

      Apache Ivy 是一个可以处理 Maven 风格存储库的 Ant 库。

      Here's 一个页面,描述了它们之间的差异以及如何整合两者。

      【讨论】:

        【解决方案4】:

        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>
        

        您还可以使用 Mercury 任务通过 Ant 构建文件部署到 Maven 存储库:

        <repo id="myRepository" 
            url="http://localhost:8081/nexus/content/groups/public">
            <auth name="myUser" pass="myPassword"/>
        </repo>
        
        <write repoid="myRepository"
               name="my.group.id:my-artifact-id:1.0"
               file="${basedir}/target/my-artifact-id.jar"/>
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2011-01-10
          • 2016-01-25
          • 2023-03-18
          • 2012-05-09
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-06-19
          相关资源
          最近更新 更多