Похоже на случай, когда OSGi использует ваш пакет для решения зависимости от другого пакета, вероятно, того, который использовал ваш пакет для решения пакета при запуске системы.
Рассмотрение симптомов: это не происходитпри загрузке или перезапуске.Также это не подтип.
Когда OSGi использует этот пакет для решения зависимости, он будет хранить копию, даже когда вы ее удаляете.Когда пакет возвращается, пакет, который ранее использовался другим пакетом, все еще может присутствовать, и у вас может возникнуть ситуация, когда используемый класс имеет две версии самого себя из разных загрузчиков классов, что означает, что они не являются одним и тем же классом и, следовательно, неподтип.
Выставляйте только необходимое, чтобы минимизировать последствия этого.Импортировать только если необходимо импортировать.Если вы используете конфигурацию Liferay Gradle, чтобы включить пакет внутри, остановитесь - это ужасный способ включить, так как он много раскрывает.Если вы используете файл bnd для включения ресурса и создания записи для местоположения дополнительного пути к классам, не открывайте его, если в этом нет необходимости.Если у вас есть несколько пакетов, использующих один в качестве зависимости, убедитесь в том, что они используют версию и если объекты обмена из проблемного класса, если они это делают, требуют особого внимания.
PS: вы можете включать атрибуты, когдаэкспорт и / или импорт, чтобы быть более конкретным и избегать использования пакетов с неправильным происхождением.