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

リソースを取得しようとしてもエラーは発生しません。エラーはクラスをロードしたときです。クラスがjarファイルにあるのに、ClassNotFoundExceptionが発生します。

4

1 に答える 1

0

URLClassLoader は、一連の URL を検索してアクセスするクラスとリソースをロードするために使用するように設計されています。jar ファイル内のクラスは抽出されません。

JarClassLoaderチュートリアルを参照してください。

于 2013-01-12T00:35:02.350 に答える