0

依存関係の一部に競合する依存関係がある状況があります。A と B に依存します。A は X のバージョン a に依存します。B は X のバージョン b に依存します。

この種の状況を処理する依存関係管理ツールはありますか。依存関係を動的にロードする依存関係管理ツールなどについて聞いたことがあるような気がします。上記のような状況に遭遇することはなかったようです。特定の瞬間にロードする X のバージョンなどを何らかの方法で指定できると思います。

そのようなことは可能ですか?必要に応じて依存関係をロードおよびアンロードできるコードの方法はありますか?

コンパイラ理論のほとんどを忘れてしまいました。また、依存関係の管理についてはあまり扱っていません。ですから、無知が透けて見えることを許してください。たぶん本物です!

4

1 に答える 1

1
  1. OSGiまたは複数のクラスローダーを管理する他のフレームワークを使用して、競合するバージョンが同じクラスローダーに含まれないようにすることができます。

  2. クラスローダーを作成することで、同じことを小規模で自分で行うことができます。

  3. 競合を回避するために、maven-shade-pluginを使用して1つ以上のコピーのパッケージの名前を変更できます。

于 2012-04-11T15:00:13.500 に答える