3

我有两个版本的 JAR,API(方法签名)略有不同,一个是新版本,另一个是旧版本。

我想创建一个可以使用其中任何一个的应用程序(虽然一次只能使用一个),如果需要可以回退到旧 jar。

为此,我有两个版本的相关类,一个使用旧 API,一个使用新 API。我可以使用环境变量来指示哪个 JAR 在类路径中,然后应用程序可以使用相同的变量来决定使用哪个类。

我的问题是,鉴于它们是针对不同的 JAR 构建的,我如何轻松地在同一个项目中构建这两个类?有什么简单的解决办法吗?

4

1 回答 1

0

不要在类路径上显示你的 jar。为每个 jar 创建两个不同的 URLClassLoaders 并手动加载您的类 classLoader1.loadClass 或 classLoader2.loadClass

于 2013-10-07T10:44:24.483 回答