我要做到以下幾點:用Javassist創建類,並使其可
try {
Class.forName("MyClass");
} catch(ClassNotFoundException e) {
ClassPool pool = ClassPool.getDefault();
CtClass cc = pool.makeClass("MyClass");
Class.forName("MyClass");
}
我已經嘗試過了,但它似乎並不總是工作...它工作在一個範圍內,但在另一個相同的代碼崩潰在第二個「Class.forName(」MyClass「)」...調用cc.toClass()
總是帶來正確的類,並試圖cc.writeFile()
,但它沒有區別。不知何故,在某些情況下,第二個Class.forName找到類,而在其他情況下,它只是打破...我錯過了什麼?
那麼,第二個嘗試塊在那裏,我只是上傳了一個「縮短」版本來顯示問題......我注意到cc.toClass()並不總是使用相同的類加載器(這是用於單元測試)。 – Martin 2014-10-28 12:03:57