Maven中相同依赖的不同版本
我有一个依赖于Woodstox和XStream的maven项目。 不幸的是,XStream还依赖于Woodstox,但版本略高于我的需要。 与此同时,Woodstox库的工件名称发生了变化,因此maven不会将它们视为同一工件的多个版本。 但是包和类名是相同的,这意味着在运行时存在冲突。
现在,我可以在某种程度上破坏构造中的旧woodstox jar(在我们的案例中是一个war
文件)但是解决这类问题的正确方法是什么?
你可以尝试在xstream的dependency
声明中excluding
woodstox依赖。
xstream.group xstream abc woodstox.group woodstox
如果幸运的话,Raghuram建议的解决方案将有效。
如果没有,你将不得不创建一个XStream jar的修改版本,可能使用Maven Shade插件 ,将两个XStream woodstox合并到一个Jar中, 重命名所有woodstox包 。