我的项目依赖于另一个项目的阴影罐。另一个项目是使用shade插件将一些a.b.c
的{{1}}包中的所有类重新定位到artifact A version 1
。
我的项目也使用此shaded.a.b.c
。当我构建项目时,我看到artifact A but version 2
的导入语句(我希望它来自a.b.c.d
并且在artifact A version 2
中不存在)在我的项目中已被更改为{{ 1}}。我在原始项目中没有使用着色,但是我看到依赖jar中的着色插件导致了原始项目中的着色。
这是预期的行为吗?有没有办法阻止这种传递着色?
其他项目的Shade插件:
artifact A version 1
答案 0 :(得分:0)
结果显示artifact A
也被定义为项目父pom中的依赖项(而非依赖项管理)。其他项目'正在使用maven进行构建,这是阴影artifact A
,这个阴影的工件(仍然不知道为什么)然后被这个项目之后的所有其他子项目使用。
将依赖项移动到父项目中的依赖项管理,并在子项目中定义相应的依赖项来修复它。