Java 将常春藤依赖项指向本地文件?

Java 将常春藤依赖项指向本地文件?,java,ivy,Java,Ivy,我有一个主项目,其中模块a依赖于由模块B的构建创建的a.jar文件。在开发过程中,我定期修改B,然后构建B来创建库,然后构建a来使用这些更改 有没有办法将模块a的ivy文件指向模块B构建创建的jar文件?考虑到我要迭代多次,我不想一遍又一遍地将模块B的jar检查到ivy中。在每个模块B构建之后,必须将jar复制到模块A的构建目录结构中,这也很烦人 事实上,对我来说更糟,因为我在依赖关系树中有大约4个模块(a->B->CD)。如果只是A和B,我可能会接受它,但我厌倦了在子模块构建之后复制jar文件

我有一个主项目,其中模块a依赖于由模块B的构建创建的a.jar文件。在开发过程中,我定期修改B,然后构建B来创建库,然后构建a来使用这些更改

有没有办法将模块a的ivy文件指向模块B构建创建的jar文件?考虑到我要迭代多次,我不想一遍又一遍地将模块B的jar检查到ivy中。在每个模块B构建之后,必须将jar复制到模块A的构建目录结构中,这也很烦人


事实上,对我来说更糟,因为我在依赖关系树中有大约4个模块(a->B->CD)。如果只是A和B,我可能会接受它,但我厌倦了在子模块构建之后复制jar文件,我想如果有一种方法可以覆盖常春藤文件依赖项行以查看本地,那么这会使生活简单得多。

将常春藤依赖项指向本地构建的模块并不是解决这个问题的方法。而是在构建模块B时将其发布到本地常春藤存储库。当您解析模块A的依赖关系时,它将从本地存储库中下拉模块B

:

本地存储库尤其重要 当你想做某事时很有用 没有受到任何干扰 环境中发生的其他事件。 这意味着只要常春藤能够 在此存储库中查找模块的步骤 它将被使用,不管是什么 在其他版本中可用

例如,如果您有一个模块 声明对模块的依赖关系 最新版本中的foo.integration, 那么如果在 将使用本地存储库, 即使最近的修订是 在其他存储库中可用

这可能会让一些人感到不安 你,但是想象一下你必须实施 项目上的新功能,以及 为了实现你需要的目标 修改两个模块:添加新模块 方法,并利用此 模块栏中的新方法。那么如果你 将模块foo发布到本地 存储库,您一定会得到它 在您的酒吧模块中,即使有人 否则,请在中发布新版本的foo 共享存储库(此修订版) 没有你现在的新方法 目前正在添加)

但是当你完成的时候要小心 您的开发并将其发布在 你必须清理你的房间 本地存储库将受益于新的 在共享目录中发布的版本 存储库

还请注意,在 本地存储库必须完整, i、 e.它们必须提供两个模块 描述符和已发布的 人工制品


文档中有一个示例
publishlocal
Ant任务,您可能会发现它很有用。

您是在IDE中工作还是在命令行中工作?您是在两种情况下都需要依赖项,还是只在一种情况下需要依赖项进行调试?