2012-04-11 117 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将软件包重命名为一个或多个副本以避免冲突。