在运行时将文件添加到java类路径

在运行时将文件添加到java类路径

是否可以在运行时将文件(不一定是jar文件)添加到java类路径。具体来说,该文件已存在于类路径中,我想要的是是否可以将此文件的修改后的副本添加到类路径中。



米琪卡哇伊
浏览 821回答 3
3回答

暮色呼如

尝试这个尺寸。private static void addSoftwareLibrary(File file) throws Exception {     Method method = URLClassLoader.class.getDeclaredMethod("addURL", new Class[]{URL.class});     method.setAccessible(true);     method.invoke(ClassLoader.getSystemClassLoader(), new Object[]{file.toURI().toURL()});}这会编辑系统类加载器以包含给定的库jar。它非常难看,但它确实有效。

梵蒂冈之花

我这样做的方法是使用我自己的类加载器URLClassLoader urlClassLoader = (URLClassLoader) ClassLoader.getSystemClassLoader();DynamicURLClassLoader dynalLoader = new DynamicURLClassLoader(urlClassLoader);并创建以下类:public class DynamicURLClassLoader extends URLClassLoader {     public DynamicURLClassLoader(URLClassLoader classLoader) {         super(classLoader.getURLs());     }     @Override     public void addURL(URL url) {         super.addURL(url);     }}工作没有任何反思
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java