【问题标题】:Nexus Ivy Maven : Second Level Dependencies Ignores TransitiveNexus Ivy Maven:二级依赖忽略传递
【发布时间】:2014-11-28 11:34:22
【问题描述】:

1.) 我有一个具有这种常春藤依赖项的 Project1:

<dependency org="xalan" name="serializer" rev="2.7.1" transitive="false" conf="compile->default" />

这个项目带来了serializer.jar(就只有这个jar,OK!

2.) 在第二个项目(Proyect2)中,我放置了下一个依赖项:

<dependency org="com.net" name="Project1" rev="latest.integration" conf="default->default;compile->compile;runtime->runtime" transitive="true">
</dependency>

这个“项目2”带来:

  1. 项目一
  2. Serializer.jar
  3. xml-apis.jar

    尽管在 xalan 依赖项中将转移设置为 false。

我在我的 Eclipse + IVEDe 环境中没有这种行为,只有 Nexus 和 Maven.... 这似乎是错误的,因为在 Project1 上我将 xalan 传递性设置为 false。

【问题讨论】:

    标签: java maven ivy nexus


    【解决方案1】:

    在项目 1 中尝试以下依赖项,看看是否能解决问题:

    <dependency org="xalan" name="serializer" rev="2.7.1" conf="compile->master" />
    

    请参阅以下关于 Ivy 如何解释 Maven 模块和范围的答案:

    我不喜欢关闭传递依赖。我认为依赖配置映射要好得多,如果绝对必要,还可以包含一个排除语句来删除令人反感的依赖关系。

    【讨论】:

    • 嗨!解决问题的另一种方法是排除 xml-apis 。对我来说,它以这种方式工作(排除模块='xml-apis'),但是发送主配置进行编译是另一种选择。但是,我想说的是,在我定义依赖传递=“假”的方式中,不应该提供第三方库.... ,但是使用 Maven 和 Nexus 给我带来了 Serializer 和 Xml-apis .... 我不知道为什么.. 逻辑行为是本地的!:-)!没有传递性...
    猜你喜欢
    • 2012-10-06
    • 2015-04-03
    • 1970-01-01
    • 1970-01-01
    • 2019-11-04
    • 2013-10-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多