在运行时将文件添加到java类路径是否可以在运行时将文件(不一定是jar文件)添加到java类路径。具体来说,该文件已存在于类路径中,我想要的是是否可以将此文件的修改后的副本添加到类路径中。
3 回答
暮色呼如
TA贡献1853条经验 获得超9个赞
尝试这个尺寸。
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。它非常难看,但它确实有效。
梵蒂冈之花
TA贡献1900条经验 获得超5个赞
我这样做的方法是使用我自己的类加载器
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); }}
工作没有任何反思
添加回答
举报
0/150
提交
取消