当前位置: 首页 > 面试题库 >

如何使用依赖于常春藤导入的lib的Ant taskdef

刘安志
2023-03-14
问题内容

我在build.xml中创建了一个taskdef,它依赖于一个由Ivy导入的jar中驻留的类。

考虑到我的构建在启动之前就中断了,因为它找不到taskdef的类,所以我想了解是否有可能。

这似乎是一个鸡蛋和鸡肉的问题,因为我不能上课,因为我必须先解决我的依赖关系(这需要构建起作用)。


问题答案:

是的,有可能。但是,这意味着您必须在<taskdef>执行该任务之前解析和检索jar 。有两种方法可以做到这一点:

  • <ivy:resolve>和放在<ivy:retrieve>任务之前<typedef/>。这三个都可以在之外<target>。但是,在这种情况下,如果运行 clean ,则这三个任务将在之前首先执行,clean这意味着简单的操作clean将花费更长的时间,并且必须确保clean<ivy:resolve>和期间不做任何事情<ivy:retrieve>

  • 将所有三个对象放置在自己的目标中,然后使依赖于第三方jar的目标依赖于检索常春藤jar并定义任务的目标。这对于诸如Ant-Contrib任务之类的事情可能很难实现,而几乎所有任务都可以使用,但是对于诸如在构建过程结束时使用的某种打包任务之类的事情,它应该变得更加容易。



 类似资料:
  • 我在我的build.xml中创建了一个taskdef,它依赖于驻留在Ivy导入的jar中的类。 我想了解这是否可能,因为我的构建在开始之前会中断,因为它找不到 taskdef 的类。 这似乎是一个鸡蛋和鸡肉的问题,因为我不能得到这个类,因为我必须首先解决我的依赖关系(这需要构建工作)。

  • 我目前正在与apache ivy的conf设置作斗争。也许我会先解释我想实现的目标: 我需要两种配置:编译、运行时 这是我试过的: 但它甚至无法被解析:无法解析ivy文件'...\ivy.xml': 有人能告诉我如何正确地声明conf设置,这样我就可以使用compile或runtime来解析,并获得所有jar,包括可传递的依赖项(在这个示例中,只有ivy的jar)。 使现代化 好的,谢谢你的链接。

  • 我无法使用Apache Ivy解决我的vaadin 7项目。每当我尝试时,它都会显示一个错误框,其中显示 “常春藤解决”遇到了一个问题。某些项目无法解决。 在单击错误框上的“详细信息”按钮时,我得到了以下附加信息 某些项目无法解决无法解决com.example#v7proj;的依赖项;working@User无法解析的依赖项:com.vaadin#vaadin客户端已编译;7.6.2:未找到未解析

  • 你好,我是apache ant和ivy的新手,我最近知道ant不支持依赖管理,所以我听说过IVY,它是ant的一个依赖管理器。现在的问题是,我已经在ivy.xml文件中添加了ivy依赖项 这是摇摆应用程序的jdatepicker。现在的问题是,当我尝试访问依赖类时,它没有导入类。ivy将依赖项下载到项目目录下的lib文件夹。 我的身材。xml文件 最后是我的主类。 为什么不导入到类中,我做得对吗?

  • 我有一个项目,我正在覆盖到gradle。该项目有一些依赖项,如junit等。依赖项的Jars被下载,但这些Jars的依赖项没有下载。build.gradle文件如下 为什么测试:项目:17.20.快照不需要下载罐子?这个东西适用于蚂蚁常春藤项目 更新 1 我加了常春藤。测试项目的xml文件

  • 问题内容: 我在ivaven.xml中添加了一个依赖项(让我们将其命名为A),它在maven Central中具有一个pom文件。Ivy使用ibiblio解决了Maven依赖关系。添加到ivy.xml的依赖项(A)具有传递的依赖项(B)。到目前为止,到目前为止很好。常春藤无法解决传递性依赖项(B)的依赖项(C)。 我在ivy.xml中定义了A,如下所示: 在B的pom文件中,在编译和测试范围中都定