尝试将该依赖项包含在所需的版本中,并在依赖项标签中使用“ force =
true”。我不确定我是否完全正确,但是在ivy.xml文件中未显式声明最后一个依赖项,因此您可以显式添加它,并为其添加一个,即:
<dependency org="com.sun.jersey" name="jersey-servlet" rev="${jersey.version}" transitive="false" />注意依赖项标记中的transitive属性。
这将阻止它带来所需的依赖关系(显然是weld-api)。
==============
更新:
现在,我们公司遇到相同的问题,但原因有所不同。我们试图包括另一个依赖
<dependency org="org.jboss.weld.se" name="weld-se-core" rev="1.1.8.Final" />
这将尝试检索修订为1.1.8.Final的weld-api和weld-spi。我们看到的原因是,在maven pom中,它们具有一个“
import”标签来表示其父依赖关系,该标签依赖于另一个父pom(简而言之)。
因此,Ivy不知道如何处理它,它使用的是当前版本1.1.8.Final,而不是为api和spi声明1.1.Final的版本。
您可以解析IVY并从缓存中删除一个文件夹org.jboss.weld.se,但是将org.jboss.weld保留在其中,然后再次解析。
或者,您可以添加以下内容:
<dependency org="org.jboss.weld" name="weld-spi" rev="1.1.Final" force="true"/><dependency org="org.jboss.weld" name="weld-api" rev="1.1.Final" force="true"/>
在原始依赖项之上。
如果将其放在后面,它将仍然无法覆盖该版本。



