我目前正在使用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/