假设我需要(它需要)在我的 Java 项目中使用fizz-1.0.jar
和。buzz-2.3.2.jar
现在,fizz-1.0.jar
取决于foo-0.1.35.jar
和buzz-2.3.2.jar
取决于foo-4.2.17.jar
。
foo-0.1.35.jar
包含一个Widget
像这样的类:
public class Widget {
public int doSomething(int x) {
return x++;
}
}
foo-4.2.17.jar
包含一个经过大量修改的版本Widget
:
public class Widget {
public Meh makeStuff() {
return new Meh();
}
}
不幸的是,两者都fizz-1.0.jar
大量buzz-2.3.2.jar
使用了Widget
.
我不能盲目地将 的两个版本都添加foo-x.y.z.jar
到类路径中,因为无论哪个先Widget
加载,都只适用于fizz-1.0.jar
或buzz-2.3.2.jar
。
我在这里有什么选择?请记住,我必须同时拥有fizz-1.0.jar
和buzz-2.3.2.jar
,并且必须满足它们的所有传递依赖关系。