【发布时间】:2013-12-21 18:48:43
【问题描述】:
我使用 NetBeans 7.2 作为 IDE、Java 7,但我在使用不同版本的库时遇到了很多问题。
我们将有问题的库称为 Lib(JAR 文件)。
我必须用Java实现一个项目A,它使用包B和包C。现在B依赖于Lib_v1.jar,C依赖于Lib_v2.jar。 Lib_v1 和 Lib_v2 是同一个库的 2 个版本,它们不兼容,但是它们有很多共同的类,因此可以从不同版本的库中加载一个类 图书馆。
我该如何处理这个问题?
【问题讨论】:
-
如现有答案中所述,如果您的项目 A 必须作为简单应用程序在一台虚拟机中运行,则没有简单的解决方案。如果您的项目可以实现为在两个虚拟机中运行的两个组件,或者如果它的依赖项 B 和 C 可以部署为两个单独的 Web 应用程序,那么 A 可以在以这种方式部署时与它们通信(例如,使用 RESTful方法)你可以摆脱纠结,因为你有机会拥有单独的、独立的类路径。哪种方式最好取决于实际的库和项目。