Я использую ProGuard для кода приложения с весенней загрузкой. После обновления до Spring Boot 2 я больше не могу запускать свое приложение.
Spring Boot 2 использует kotlin-рефлекси для создания bean-компонентов, которые используют аннотацию kotlin.Metadata
во время рефлексии. Эта аннотация имеет необсуждаемые значения, и поэтому kotlin-refle ищет методы с оригинальными именами. и выдается следующее исключение:
kotlin.reflect.jvm.internal.KotlinReflectionInternalError: Could not compute caller for function: public constructor ProjectService(...
ProjectService
скрыт до F
, следовательно, такого конструктора нет.
Когда я сохраняю имена классов, у меня возникает та же проблема в другом месте:
kotlin.reflect.jvm.internal.KotlinReflectionInternalError: Could not compute caller for function: public open fun addRole(...
Есть ли способ исправить запутывание параметров аннотации kotlin.Metadata
? Сама аннотация не запутывается, и все равно ссылается на оригинальные имена классов, которые записываются как строковые значения Я также пытался скрыть аннотацию метаданных, но безрезультатно.