【问题标题】:Apache Ivy multiproject dependency declarationApache Ivy 多项目依赖声明
【发布时间】:2011-08-26 23:10:16
【问题描述】:

我有 2 个项目,但 Apache Ivy 无法检测到彼此之间的依赖关系(我做错了,但我看不到它是什么)

2 个项目位于单独的顶级目录中,如下所示

chainedresolvers-项目

dep-项目

project1 常春藤

<ivy-module version="1.0">
    <info organisation="myreports" module="chained-resolvers" status="integration"/>
     <publications>
      <artifact name="myapp" type="jar" conf="default" />
    </publications>
    <dependencies>
        <dependency org="commons-lang" name="commons-lang" rev="2.0" conf="default"/>
        <dependency name="test" rev="1.0"/>
        <dependency name="rwrun" rev="latest"/>
    </dependencies> </ivy-module>

project2 ivy(依赖于 project1)

<ivy-module version="1.0">
    <info organisation="myreports" module="dep-project" status="integration"/>
    <dependencies>
        <dependency name="chained-resolvers" rev="latest.integration" conf="default"/>
    </dependencies>
</ivy-module>

当我在第二个项目上运行 ant 时

 ::::::::::::::::::::::::::::::::::::::::::::::
 ::          UNRESOLVED DEPENDENCIES         ::
 ::::::::::::::::::::::::::::::::::::::::::::::
 :: myreports#chained-resolvers;latest.integration: not found 
 ::::::::::::::::::::::::::::::::::::::::::::::

请评论我可能做错了什么,它无法获取依赖项?

【问题讨论】:

  • 您是否将第二个项目发布到存储库中,是否存在?尝试以详细模式 (-v) 运行 ant。然后 ivy 会告诉你它在哪里寻找 project2。

标签: ant ivy


【解决方案1】:

由于

<publications>
      <artifact name="myapp" type="jar" conf="default" />
    </publications>

您的工件的名称是 myapp 因此依赖项必须是:

<ivy-module version="1.0">
    <info organisation="myreports" module="dep-project" status="integration"/>
    <dependencies>
        <dependency organisation="myreports" name="myapp" rev="latest.integration" conf="default"/>
    </dependencies>
</ivy-module>

【讨论】:

  • - 谢谢大家- 在第二个项目中,ant -v 告诉我,它正在 ivysettings.xml 文件中 给出的路径中寻找类似 -.jar 的东西- 在我的第一个项目中,我将它放入具有上述名称的 ant 目标中,并将其放在 给出的路径中,然后它能够​​从第二个项目中找到(我想这是一种方法。将探索更多)
猜你喜欢
  • 2014-11-04
  • 2012-10-23
  • 2011-11-13
  • 2019-03-17
  • 2019-06-30
  • 2013-04-20
  • 2016-11-20
  • 2015-09-01
  • 1970-01-01
相关资源
最近更新 更多