java - 使用 ant 和 ivy 管理重复的 jar 文件

标签 java ant ivy

你好,

我正在使用 ant build 脚本来构建我的 java 应用程序并利用 Ivy 来管理它的依赖性。

由于我的应用程序是其他应用程序(主应用程序)的依赖/子集,因此在运行它时,我将类路径设置为指向主应用程序的 lib jar。

当我尝试使用 ant 和 ivy 构建工具包时,它包含/检索 ivy.xml 中指定的所有必需的 jar

问题是,一些 jar 文件与主应用程序文件夹中的 jars 文件重复。

有没有办法在 build.xml 中设置类路径以忽略检索主应用程序的 lib 文件夹中已存在的 jar 文件。

谢谢

最佳答案

有一种方法可以在标记中明确排除文件项,但您必须手动调出它们:

<fileset dir="yourdir">
     <exclude name="apps/**/*Test*"/>
</fileset>

不过,您可以考虑另一种方法。听起来您正在混合依赖管理方法。这就是您遇到冲突的原因......您正在 MainApp 的 lib 中手动设置依赖项,并在 Ivy 中指定其他依赖项。我敦促您考虑选择其中之一,并在其中进行所有依赖项管理。

您可以通过 Ivy 发布 MainApp 的工件,并在您的子项目中使用该工件。 Ivy 将为您管理重复项。

或者,您可以从类路径中完全删除 MainApp,并每次都重新获取依赖项(Ivy 在本地缓存这些依赖项,因此您不必重新下载它们,它只是在磁盘上为您管理它们)。

关于java - 使用 ant 和 ivy 管理重复的 jar 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4983190/

相关文章:

java - 当使用 = 将一个对象分配给另一个对象时,就会发生复制类型

java - 在java中连接字符以形成String

ivy - 有没有办法使用动态修订来指定 Ivy 依赖项但限制状态?

java - 有人可以解释 ivy.xml 依赖项的 conf 属性吗?

java - android布局,有面板吗?

Android 上的 Javadoc (Eclipse)

java - Eclipse ant 任务使用自定义 WIX 配置文件 (wxs) 文件代替默认 wxs 文件

java - 如何并行化 Ants signJar 任务

android - 尝试在 Android 上运行 Cocos2d-JS 项目时出错

java - IvyIdea插件-无法解决依赖关系