排除maven中的嵌套传递依赖

时间:2012-12-13 15:00:09

标签: java maven dependencies

我的项目取决于jparsec,这取决于cglib,这取决于asm。我的项目也直接依赖asm,但版本比cglib更新的版本取决于:

enter image description here

我似乎无法从asm依赖项中排除jparsec。当我尝试用Eclipse排除它时,它对我的​​pom没有任何改变。如果我手动排除它,它就没有效果。

此处我唯一的选择是从cglib中排除jparsec,然后手动添加cglib的依赖项并排除asm吗?这对我来说似乎有点费解,但确实有效。

2 个答案:

答案 0 :(得分:4)

我原本预计,如果您将asm放在POM之前jparsec,则不需要排除。 "nearest definition"行为将确保仅使用4.1

答案 1 :(得分:3)

根据我的评论,您有2个选项可以解决此问题:

  1. 您建议的那个,例如从cglib中排除jparsec,并在cglib被排除的情况下添加asm
  2. asm依赖项之上找到您的jparsec依赖项。