我有一个使用第三方库的项目(netapp nmsdk包,但这并不相关)。该库似乎使用guava r08,并专门调用 com.google.commons.io.NullPointerStream 。问题是在r15之后删除了类。除了困难之外,库似乎并不知道它的依赖性,因此我们必须在项目中手动包含guava r08,以便应用程序在运行时找到类。
现在,我们在几个地方使用番石榴,但不幸的是我们需要在较新版本的番石榴中找到的功能。因此,稍后在我们的项目管道堆栈中,无论如何,我们引用当前版本的r21。
但是maven排除了r08的瞬态依赖关系而不支持r21,所以现在我们在运行时没有所需的类!
我试图让阴影起作用,但由于它似乎没有引入r08中的类,所以没有什么可以遮蔽。
有人可以帮我弄清楚如何在r08中“包含”所需的瞬态文件以及对r21的显式依赖。或者,如果我走错了路,我能否以正确的方式获得路线? 谢谢!
编辑:我想明确声明第三方库似乎不是一个正确的maven工件,而且是我们无法访问的完全封闭的源。
编辑2:好的,所以我早些时候撒谎,实际上是三个项目(很好,你抓住了我,有12个,但只有3个问题)。