ReganalaccessError: Class Не удается получить доступ к своему суперинтерфейсу

У меня есть классная сборка, реализующая IASSEMBLE.

Я вижу следующую ошибку при запуске приложения

Caused by: java.lang.IllegalAccessError: class <Assembly > cannot access its superinterface <IAssembly>
        at java.lang.ClassLoader.defineClass1(Native Method)

Код сборки

class package.Assembly implements IAssembly {

}

IASSEMBLY

interface IAssembly { //note -this is not public, so uses default protected

}

Сборка и IASSEMBLE существует в двух разных банках. Оба банки загружены разными классовыми загрузками. Класс Ассамблеи загружен в детский класс, IASSEMBLY - родитель. Классовые погрузчики используют цепочку.

В нормальных случаях это работает. Ошибка возникает, когда я запускаю свое приложение после инструментальных банок с помощью Cobertura. С внесением обозначения все работает нормально. Может ли комбинировать Cobertura привести к такой ошибке? Или это ошибка в любом случае ожидание быть обнаруженным, но с Cobertura ошибка быстро выставлена.

, делая интерфейс «публичный» ошибка уходит.

6
задан Jayan 4 July 2018 в 15:01
поделиться