Как я могу инициализировать класс, который был динамически загружен с помощью пользовательского загрузчика классов? - PullRequest
0 голосов
/ 03 октября 2018

Предположим, у меня есть класс, который загружается с помощью пользовательского загрузчика классов

Class<?> clz = myClassLoader.loadClass("classLoaders.Test");

Как я могу инициализировать класс (запустить его статические инициализаторы), не создавая экземпляр, не зная его членов или не используя отражение?

1 Ответ

0 голосов
/ 03 октября 2018

Чтобы убедиться, что класс инициализирован, вызовите Class.forName(String name, boolean initialize, ClassLoader loader) со значением true для параметра initialize.

Class<?> clz = Class.forName("classLoaders.Test", true, myClassLoader);
...