私の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.jarWidget次のようなクラスが含まれています。
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.jarbuzz-2.3.2.jar