使用常春藤指定传递依赖关系

时间:2014-06-18 11:51:11

标签: java ant dependencies ivy transitive-dependency

好吧,所以说我有一个模块,我的所有项目都是基于“Module_A”,然后我有“Module_B”,它建立在A上,最后我有我的顶级项目依赖于B所以也需要适当的A版本。

模块A和B都使用来自蚂蚁脚本的Ivy发布到Artifactory。当我开发模块B时​​,我可以使用IvyDE来解决我对模块A的依赖。

我遇到的问题是,当我开始开发我的顶级项目时,我指定我依赖于模块B,并且我希望模块A也可以从Artifactory中提取,但这不会发生,我不确定我需要做些什么来实现它。

因此,为了清楚地使用以下常春藤文件,我希望模块B及其依赖模块A在我的类路径上显示,就像魔术一样。

<dependencies>
   <dependency org="MY_ORG" name="NAME" rev="latest.integration">
      <artifact name="MODULE_B" type="jar" ext="jar" />
   </dependency>
</dependencies>

当我看到我已经解决的一些罐子时,比如番石榴,它的META-INF目录中填充了一个pom文件。我需要在jar中创建和捆绑Ivy的等价物吗?

感谢。

修改

我相信上面的一些是不正确的,IvyDE应该只使用artifactory托管的常春藤文件来确定传递依赖,而不是查看jar内部 - 当我查看artifactory所持有的文件时,它确实定义了传递依赖项我想要解决当我查看IvyDE缓存时,它包含一个不同的常春藤文件,其默认配置不存在于artifactory中,也没有依赖项!

我已经开始着手决定常春藤,IvyDE和/或Artifactory是浪费时间......有人可以建议可能出现的问题。

1 个答案:

答案 0 :(得分:1)

问题,我相信我已经通过使用URL解析器而不是ibiblio解决了。尽管使用Ivy发布到artifactory并使用Ivy来解析我的依赖项,我还是需要使用URL解析器来指定常春藤模式。一旦我完成了这个,我的传递依赖开始得到解决。

请注意,我仍然使用ibiblio解析器来处理我的外部依赖项,例如junit。

相关问题