0

我一直在玩动态加载 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 文件中的类是。

4

1 回答 1

0

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

请参阅JarClassLoader教程。

于 2013-01-12T00:35:02.350 回答