我要做到以下几点:用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