gpt4 book ai didi

java - 从提取的 war 文件动态加载外部类

转载 作者:行者123 更新时间:2023-12-01 20:13:05 25 4
gpt4 key购买 nike

这个问题很受欢迎,但我找不到避免“java.lang.ClassNotFoundException”的方法。

我实现了一种动态加载一些外部类的方法(在提取 war 文件后得到的)

  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;
}

同样的异常仍然一次又一次地出现。这是堆栈跟踪:

java.lang.ClassNotFoundException: bber.Counter
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at earviewer.ClassesLoaser.classGetter(ClassesLoaser.java:48)
at earviewer.ClassesLoaser.main(ClassesLoaser.java:58)
Exception in thread "main" java.lang.NullPointerException
at earviewer.ClassesLoaser.main(ClassesLoaser.java:59)

最佳答案

当您提供类的完全限定名称但尝试将其加载到包内时,会发生此错误。我们应该选择类文件的路径,而不进入包文件夹

关于java - 从提取的 war 文件动态加载外部类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58963462/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com