[英]Ivy's transitive=“false” gets simply ignored when downloading from Nexus
At our company, we are migrating our old ivy repository to Nexus. 在我们公司,我们正在将旧的常春藤存储库迁移到Nexus。
After uploading our own artifacts to Nexus, I tried downloading a few projects' dependencies to test the setup, but I'm failing with spring-web. 将我们自己的工件上传到Nexus之后,我尝试下载一些项目的依赖项以测试设置,但是spring-web失败了。 Let me explain how. 让我解释一下。
Here is the ivy-settings.xml file pointing only to our local Nexus installation 这是ivy-settings.xml文件,仅指向我们的本地Nexus安装
<?xml version="1.0" encoding="ISO-8859-1"?>
<ivysettings>
<settings defaultResolver="default" />
<resolvers>
<ibiblio name="nexus" m2compatible="true" root="http://nexus.local/nexus/content/repositories/central/" />
<ibiblio name="our-nexus" m2compatible="true" root="http://nexus/nexus/content/repositories/repo" />
<chain name="default" returnFirst="true">
<resolver ref="our-nexus" />
<resolver ref="nexus" />
</chain>
</resolvers>
</ivysettings>
In one of our projects we use Spring Web, but not all of its dependencies, so I declared 在我们的一个项目中,我们使用的是Spring Web,但并不是所有的依赖项,因此我声明
<dependency org="org.springframework" name="spring-web" rev="3.0.5.RELEASE" transitive="false" />
This worked fine when using Ivy repository. 使用常春藤存储库时,这工作正常。 However today I can't perform an <ivy:retrieve>
task because it can't find com.caucho#hessian#3.2.1
但是今天我不能执行<ivy:retrieve>
任务,因为它找不到com.caucho#hessian#3.2.1
<ivy:report>
task says that such version of hessian is required by spring-web 3.2.11.RELEASE
<ivy:report>
任务说,Spring Web 3.2.11.RELEASE
需要这种版本的粗麻布。
But I have declared transitive="false"
!!! 但是我已经声明了transitive="false"
!
Why isn't it working? 为什么不起作用? What am I missing/messing? 我想念/发什么消息?
Should work. 应该管用。 Personally I prefer configuration mappings. 我个人更喜欢配置映射。 Try the following instead: 请尝试以下操作:
<dependency org="org.springframework" name="spring-web" rev="3.0.5.RELEASE" conf="default->master" />
For more details see: 有关更多详细信息,请参见:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.