私の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