我有一个依赖于Woodstox和XStream的Maven项目。不幸的是,XStream还依赖于Woodstox,但是这个版本比我需要的版本稍旧。但是,与此同时,Woodstox库的工件名称已更改,因此maven不会将它们视为同一工件的多个版本。但是包名称和类名称相同,这意味着在运行时存在冲突。
现在,我显然可以以某种方式将旧的woodstox jar从构建中删除(在我们的情况下为war
文件),但是解决此类问题的正确方法是什么?
最佳答案
您可以在xstream的excluding
声明中尝试dependency
woodstox依赖性。
<dependency>
<groupId>xstream.group</groupId>
<artifactId>xstream</artifactId>
<version>a.b.c</version>
<exclusions>
<exclusion>
<groupId>woodstox.group</groupId>
<artifactId>woodstox</artifactId>
</exclusion>
</exclusions>
</dependency>