我有一个项目,依赖于一个由供应商控制的工件.这个工件包含一些我依赖的类,一些是旧的,导致问题.有没有办法让maven自动扩展jar,删除类,并重新打包它们作为依赖关系?我会举个例子.
supplier:artifact:1.0.0 com.supplier.useful.ClassA com.supplier.dto.ClassB (old) us:dependency:1.1.20 com.supplier.dto.ClassB (new) us:project-web:1.1.20 - supplier:artifact:1.0.0 - us:dependency:1.1.20
所以 – 我需要在project-web中使用ClassA,但是我需要使用依赖性工件的ClassB.我不能修改供应商:artifact或我们:依赖.
有任何想法吗?!
解决方法
自2.0.9版本以来,maven保留了类路径的顺序,因此如果在jar中定义了修补的类,那么它将隐藏供应商的实现.
或者,您可以看看maven shade plugin,因为它正是您根据我的要求.