Есть ли способ в моем пользовательском загрузчике классов присоединить мой загрузчик классов к классу, пока я делегирую его супер-создание? - PullRequest
0 голосов
/ 30 апреля 2020

У меня есть эта трассировка стека, которая является ПЕРВОЙ раз, когда этот класс загружен (у меня есть условие для точки останова для этого класса) ....

enter image description here

Мой CompilingClassLoader (ie. Этот https://github.com/deanhiller/webpieces/blob/master/core/runtimecompile/src/main/java/org/webpieces/compiler/impl/CompilingClassloader.java)

Я хочу, чтобы этот класс загружался таким образом, что он является plugin.getClass.getClassLoader возвращает CompilingClassLoader. Вместо этого его загрузчик классов является AppClassLoader

Это вызывает много проблем для разработчиков плагинов, поскольку в настоящее время обходной путь - это загрузчик классов контекста Thread. Есть ли способ заявить, что компилирующий загрузчик классов загрузил его, но делегировал суперзагрузчику классов?

КРИТИЧЕСКАЯ строка - это строка 111 в ссылке выше, кстати. Я хочу, чтобы эта линия использовала суперкласс для создания Класса для меня, НО я хочу, чтобы он выглядел так, как будто я создал Класс. ie. возвращаемый класс должен возвращать загрузчик классов my при вызове clazz.getClassLoader (). тогда это решает кучу проблем.

спасибо, Дин

...