【问题标题】:Load jar file contained within another jar file not working加载另一个 jar 文件中包含的 jar 文件不起作用
【发布时间】:2013-01-12 00:26:23
【问题描述】:

我一直在玩动态加载 jar 文件,但我无法让它工作。我在 Eclipse 的源文件夹中有一个 jar 文件(resource.jar),所以它位于类路径中。我试图将它作为加载小程序、将其添加到 jframe 并运行它的资源。由于某些未知的原因,这对我自己不起作用。这是我正在尝试的代码。

URL jarURL = getClass().getClassLoader().getResource("resource.jar");
ClassLoader urlLoader = new URLClassLoader(new URL[]{jarURL});
applet = (Applet) urlLoader.loadClass("test.TestClassApplet").newInstance();
jframe.add(applet);
applet.init();
applet.start();

当我尝试获取资源时没有错误,错误是在我加载类时。我得到一个 ClassNotFoundException,即使 jar 文件中的类是。

【问题讨论】:

    标签: java resources classloader


    【解决方案1】:

    URLClassLoader 旨在用于加载通过搜索一组 URL 访问的类和资源。它不会为您提取 jar 文件中的类。

    参见JarClassLoader 教程。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-10-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多