我目前正在使用Class.forName()加载Java类。

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

但是现在我想从其他目录加载类,我尝试通过以下方式设置类路径:
clazz = Class.forName("-cp \"C:/dir\" distantinterfaces.DistantClass");

没有成功和ClassNotFoundException。通往遥远类(Class)的完整路径是:
C:/dir/distantinterfaces/DistantClass.class

最佳答案

为此使用 URLClassLoader 。该代码可能类似于以下内容:

File f = new File("C:/dir");
URL[] cp = {f.toURI().toURL()};
URLClassLoader urlcl = new URLClassLoader(cp);
Class clazz = urlcl.loadClass("distantinterfaces.DistantClass");

关于远程目录中的Java Class.forName(),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16335305/

10-09 21:26