[英]Load dynamicly external classes from a extracted war file
這個問題很受歡迎,但我找不到避免“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)
當您提供 class 的完全限定名稱但嘗試將其加載到 package 中時,會發生此錯誤。 我們應該 select class 文件的路徑而不進入 package 文件夾
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.