2017-03-03 63 views
0

我有一个java项目与两个maven模块(moduleA和moduleB),其中每个模块想要访问同一个库的不同版本(v1和v2)。 moduleA使用moduleB作为依赖项。我创建了moduleB主要是为了解决这个问题,也认为它会保持代码组织良好。maven - 可以两个模块使用不同版本的相同的库

我在moduleA的pom.xml中使用了maven遮罩插件,认为它会帮助我区分每个版本的类,但即使该方法在该库的v2版本中可用,我仍然会得到“NoSuchMethodError”。任何帮助将不胜感激。

+1

加载两个不同版本的同一个库到Java的你不能有2个版本的库在运行。如果它不兼容,你需要选择一个版本并坚持下去。 – Tunaki

+0

看看这个:http://stackoverflow.com/questions/4827335/different-versions-of-the-same-dependency-in-maven –

+0

你将不得不使用Maven-Shade-Plugin重命名库的包在moduleA或moduleB中。只有在库不使用Reflection或类似访问自己的类的情况下才会有效。 – mihi

回答

0

我不认为这可以工作:有将是命名空间冲突,如果你试图在同一时间

相关问题