Java Nexus Ivy Maven:二级依赖忽略传递
1.)我有一个与常春藤相关的项目1: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=
<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”带来了:
我在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。。。。我不知道为什么。。逻辑行为是本地的!:-)!没有及物性。。。