在运行时将文件添加到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
提交
取消
