为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

米琪卡哇伊 2019-08-08 11:07:34
在运行时将文件添加到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。它非常难看,但它确实有效。


查看完整回答
反对 回复 2019-08-08
?
梵蒂冈之花

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);
    }}

工作没有任何反思


查看完整回答
反对 回复 2019-08-08
  • 3 回答
  • 0 关注
  • 820 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信