Я пишу пользовательский загрузчик классов, я установил его в качестве загрузчика классов по умолчанию, используя параметр
-Djava.system.class.loader=MyClassLoader
Большинство классов загружаются моим загрузчиком классов, но некоторые классы нет, почему?
Эти классы находятся во внешнем jar-файле.
UPDATE
Вот пример
public class Main{
public static void main(String[] args) {
try{
// A simple class loader, ovveride loadClass
// method and print in stdout the name of the class loaded.
MyClassLoader classLoader=new MyClassLoader(MyClassLoader.class.getClassLoader());
Class init=classLoader.loadClass("Initializer");
Object instance=init.newInstance();
init.getMethod("init").invoke(instance);
}
catch(Exception ex){
ex.printStackTrace();
}
}
}
public class A{
public A() {
System.out.println("Im A");
}
}
public class Initializer {
public void init() {
A a=new A();
}
}
Проблема в том, что я ожидаю, что класс A загружается моим загрузчиком классов, но этого не происходит, почему?
UPDATE
В любом случае, я хочу загрузить ВСЕ свои классы с помощью моего загрузчика классов, потому что я хочу зашифровать код класса и расшифровать его во время выполнения.
Итак, как я могу использовать загрузчик классов в качестве загрузчика классов по умолчанию для ВСЕХ моих классов?
Спасибо.