这个问题是如此受欢迎,但是我找不到避免“ java.lang.ClassNotFoundException”的方法。
我已经实现了一种动态加载某些外部类的方法(提取战争文件后得到)
private void OnLoaded(object sender, RoutedEventArgs e)
{
var currentParent = Parent;
while (currentParent != null && !(currentParent is Window))
{
currentParent = VisualTreeHelper.GetParent(currentParent);
}
if (currentParent is Window parentWindow)
{
parentWindow.ResizeMode = ResizeMode.NoResize;
}
}
相同的异常仍然一次又一次地出现。这是堆栈跟踪:
Class<?> classGetter() {
URL url;
Class<?> cls = null;
try {
String className=new Substringer(entireFilePath.getName(), 5).output;
String classPath=new
Substringer(entireFilePath.getAbsolutePath(),5+className.length()).output;
File classDirPath = new File(classPath);
url = classDirPath.toURI().toURL();
URL[] urls = new URL[]{url};
URLClassLoader cl = new URLClassLoader(urls);
cls = cl.loadClass(packageGetter()+"."+className);
cl.close();
} catch (ClassNotFoundException | IOException e) {
e.printStackTrace();
}
return cls;
}
答案 0 :(得分:0)
当您提供类的完全限定名称但尝试将其加载到包中时,会发生此错误。 我们应该选择类文件的路径,而无需输入包文件夹