Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我有两个版本的 JAR,API(方法签名)略有不同,一个是新版本,另一个是旧版本。
我想创建一个可以使用其中任何一个的应用程序(虽然一次只能使用一个),如果需要可以回退到旧 jar。
为此,我有两个版本的相关类,一个使用旧 API,一个使用新 API。我可以使用环境变量来指示哪个 JAR 在类路径中,然后应用程序可以使用相同的变量来决定使用哪个类。
我的问题是,鉴于它们是针对不同的 JAR 构建的,我如何轻松地在同一个项目中构建这两个类?有什么简单的解决办法吗?
不要在类路径上显示你的 jar。为每个 jar 创建两个不同的 URLClassLoaders 并手动加载您的类 classLoader1.loadClass 或 classLoader2.loadClass