5

私は現在、それをロードするために Java クラスをClass.forName()ロードしています。

clazz = Class.forName("interfaces.MyClass");

しかし、今は別のディレクトリからクラスをロードしたいので、クラスパスを設定しようとしました

clazz = Class.forName("-cp \"C:/dir\" distantinterfaces.DistantClass");

成功せず、ClassNotFoundException. リモート クラスへのフル パスは次のとおりです。

C:/dir/distantinterfaces/DistantClass.class
4

3 に答える 3

9

これには を使用URLClassLoaderします。コードは、次の行に沿ったものである可能性があります。

File f = new File("C:/dir");
URL[] cp = {f.toURI().toURL()};
URLClassLoader urlcl = new URLClassLoader(cp);
Class clazz = urlcl.loadClass("distantinterfaces.DistantClass");
于 2013-05-02T10:11:48.287 に答える
1

クラスのあるディレクトリを認識する ClassLoader のインスタンスを作成する必要があります。urlclassloader とタグ付けされたスタックオーバーフローの質問を参照してください。

于 2013-05-02T10:13:44.723 に答える