Я загружаю классы, используя пользовательский загрузчик классов. По большей части все работает, но иногда, когда я загружаю особенно сложные проекты/библиотеки, я получаю странную ошибку:
Exception in thread "main" java.lang.ClassCircularityError:
org/apache/commons/codec/binary/Hex
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(ClassLoader.java:632)
at java.lang.ClassLoader.defineClass(ClassLoader.java:616)
at java.lang.ClassLoader.defineClass(ClassLoader.java:466)
at my.custom.class.Loader.loadClass(...)
Глядя на Javadocs, я бы не ожидал, что defineClass
выбросит эту конкретную ошибку. org/apache/commons/codec/binary/Hex
- класс, который я пытаюсь загрузить. Это почти так, как будто defineClass
хочет получить копию класса, прежде чем он определит класс, что не имеет для меня никакого смысла.
Идеи?