請教bang老師關於自定義classloader的一些問題

acerow發表於2010-03-26
您好bang老師,由於專案需要,我需要自定義一個classloader,去載入幾個特殊的class,之前對classloader的瞭解並不深入,我在網上查了很多資料,自己寫了一個Mycalssloader(其實就是複製過來的),然後做測試,
類似於這樣的class
public class Test {
public void aaa(){

}
}

load這樣簡檔的class都沒問題,但是一旦要load一些引用許多第三方元件的,包括讀取資料庫的class就會報錯,但是這些class用java的反射也沒問題,不知自定義的classloader還缺少了那些東西,請您指點!

以下是些報錯資訊:

root cause

java.lang.reflect.InvocationTargetException
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
java.lang.reflect.Method.invoke(Unknown Source)

root cause

java.lang.NoClassDefFoundError: org/apache/cayenne/query/Query
java.lang.Class.getDeclaredMethods0(Native Method)
java.lang.Class.privateGetDeclaredMethods(Unknown Source)
java.lang.Class.privateGetPublicMethods(Unknown Source)
java.lang.Class.getMethods(Unknown Source)

相關文章