я хочу сделать следующее:Создать класс с 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()
, но это не имеет значения. Так или иначе, в некоторых случаях второй класс.forName находит класс, а в других случаях он просто ломается ... Я что-то упускаю?
Ну, второй блок try есть, я просто загрузил «сокращенную» версию, чтобы показать проблему ... Что я заметил, так это то, что cc.toClass() не всегда использовал один и тот же загрузчик классов (это для unittesting). – Martin