2012-04-11 139 views
0

我們遇到了一些依賴關係存在衝突依賴關係的情況。 我們依靠X上的版本一個& B. 一個dependes B依賴於版本b X.動態依賴關係

的是否有處理這種類型的情況有任何依賴管理工具。我感覺好像我聽說過一些動態加載依賴關係的依賴管理工具。似乎它避免了遇到上述情況。我想你可以指定在某個特定時刻或某個地方加載哪個版本的X.

是否有可能做這樣的事情?代碼中是否有任何方法可以根據需要加載和卸載依賴項?

我忘記了大部分編譯器理論。我還沒有涉及到依賴管理。所以請原諒任何無知。這可能是真的!

+1

我不確定要理解你的問題,但也許你可以用maven http://maven.apache.org/guides/introduction/introduction-to-optional-and-excludes-dependencies檢查dependy排除。 HTML – 2012-04-11 14:59:31

回答

1
  1. 您可以使用OSGi或其他一些管理多個類加載器的框架,以便衝突的版本不會在同一個類加載器中結束。

  2. 您可以嘗試通過創建類加載器小規模地自己做同樣的事情。

  3. 您可以使用maven-shade-plugin將軟件包重命名爲一個或多個副本以避免衝突。