Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Nexus Ivy Maven:二级依赖忽略传递_Java_Maven_Ivy_Nexus - Fatal编程技术网

Java Nexus Ivy Maven:二级依赖忽略传递

Java Nexus Ivy Maven:二级依赖忽略传递,java,maven,ivy,nexus,Java,Maven,Ivy,Nexus,1.)我有一个与常春藤相关的项目1: <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=

1.)我有一个与常春藤相关的项目1:

<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
  • Serializer.jar
  • xml-api.jar

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


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

    在Project1中尝试以下依赖项,看看这是否解决了问题:

    <dependency org="xalan" name="serializer" rev="2.7.1" conf="compile->master" />
    
    
    
    关于Ivy如何解释Maven模块和作用域,请参见以下答案:


    我不喜欢关闭可传递依赖项。我认为最好依靠配置映射,如果绝对必要,还可以包含一个exclude语句来删除不受欢迎的依赖项。

    hi!解决此问题的另一种方法是排除XMLAPI。对我来说,它是这样工作的(排除module='xml-api'),但发送主配置进行编译是另一种选择。但是,我想说的是,按照我定义dependency transitive=“false”的方式,不应该提供任何第三方库……在我的本地环境(使用IVYDe Pluggin for Eclipse)上,Ivy只为我提供了serializer.jar,而Maven&Nexus为我提供了serializer&Xml API。。。。我不知道为什么。。逻辑行为是本地的!:-)!没有及物性。。。