加载另一个jar文件中包含的jar文件不起作用

时间:2013-01-12 00:26:24

标签: java resources classloader

我一直在玩动态加载jar文件,我无法让它工作。我在Eclipse的源文件夹中有一个jar文件(resource.jar),因此它位于类路径中。我正在尝试将其作为加载applet的资源,将其添加到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文件中有类IS。

1 个答案:

答案 0 :(得分:0)

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

请参阅JarClassLoader教程。