我使用JavaCompiler進行在運行時
ClassNotFoundException的負荷運行時編譯的子類
package com.notmycompany;
import com.mycompany.Processor;
import com.mycompany.Event;
public class CustomProcessor extends Processor {
@Override
public void process(Event evt) {
// Do you own stuff
System.out.println("My Own Stuff");
}
}
編譯順利,我結束了,我嘗試使用加載類文件從Web應用程序中編譯CustomProcessor.java URLClassLoader
URL[] urls = new URL[]{ new URL("file://d:/temp/") };
URLClassLoader ucl = new URLClassLoader(urls);
Class clazz = ucl.loadClass("com.notmycompany.CustomProcessor");
的問題是我打它,我在應用程序中使用其他地方ClassNotFoundException
上Processor
(如我知道它的存在)。
我需要做什麼com.mycompany.Processor
在運行時是可見的?
Caused by: java.lang.ClassNotFoundException: com.mycompany.Processor
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 30 more
謝謝。
什麼'CustomProcessor.class'的位置? – Jeffrey
'd:/ temp/com/notmycompany /' – MonoThreaded
URLClassLoader是否需要所有其他類的路徑? – MonoThreaded