在 java 9 下的运行时将 jar 添加到类路径
直到java9在运行时将外部jar添加到类路径中,每个人都以编程方式使用:
URLClassLoader sysloader = (URLClassLoader) ClassLoader.getSystemClassLoader();
Method method = URLClassLoader.class.getDeclaredMethod("addURL", new Class[]{URL.class});
method.invoke(sysloader, new Object[]{file.toURI().toURL()});
现在有了java9,我们遇到了问题:
线程“main” java.lang.ClassCastException 中的异常:java.base/jdk.internal.loader.ClassLoaders$AppClassLoader 不能强制转换为 java.base/java.net.URLClassLoader
URLClassLoader
在 Java 9 中不再有效。现在在 jdk9 下,如何以编程方式将外部 jar 添加到运行时的类路径中?