ClassCircularityError, вызванный ClassLoader.defineClass

Я загружаю классы с помощью специального загрузчика классов. По большей части все работает, но иногда, когда я загружаю особо сложные проекты / библиотеки, я получаю странную ошибку:

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 хотел получить копию класса, прежде чем он определит класс - что для меня не имеет смысла.

Идеи?

12
задан Matthew Murdoch 31 May 2011 в 21:12
поделиться