これはよくある問題です。私は 2 つのライブラリA.jarとB.jarを使用していますが、これらは同じ jar の異なるバージョンに依存しています。実行時にTHIS.xxxjar
が必要だとしましょう
MY.jar
-> A.jar -> THIS.1.0.0.jar
-> B.jar -> C.jar -> THIS.5.0.0.jar
特定の jar (A.jar/B.jar) をその依存関係に対してコンパイルできますが、実行時に 1 つのバージョンのみをロードする必要があります。どれ?
依存関係 (最新バージョン) を 1 つだけ読み込むということは、ライブラリに下位互換性がない場合 (下位互換性のあるライブラリはありますか?)、私のコードはおそらく実行時例外をスローすることを意味します。
とにかく、OSGi のようなものがこの問題を解決できることを知っています。
この種の問題を解決する古い方法は何だろうと思っています...
どうもありがとう