【发布时间】:2015-10-16 14:41:03
【问题描述】:
我有两个 jars A.jar 和 B.jar 并且都有一个类说 test 包 com.source,
我知道如果 A.jar 在类路径中排在第一位,我可以从 A.jar 获取测试。
如果我无法控制修改类路径,我正在寻找从 B.jar 访问测试的方法。所以基本上,在不删除 A.jar 的情况下,可以做些什么来从 B.jar 访问测试?
【问题讨论】:
标签: java classpath classloader
我有两个 jars A.jar 和 B.jar 并且都有一个类说 test 包 com.source,
我知道如果 A.jar 在类路径中排在第一位,我可以从 A.jar 获取测试。
如果我无法控制修改类路径,我正在寻找从 B.jar 访问测试的方法。所以基本上,在不删除 A.jar 的情况下,可以做些什么来从 B.jar 访问测试?
【问题讨论】:
标签: java classpath classloader
您可以使用 URLClassLoader 并提供 jar 文件的确切路径。
URL myURL = new URL("jar:file:" +jarfilepath+"!/");
URL[] urls = new URL[]{myURL};
URLClassLoader cl = URLClassLoader.newInstance(urls);
Class c = cl.loadClass(classname);
【讨论】: