Конфликтующая зависимость jetified-kotlin-reflect

Когда я создаю свой проект Android, я получаю следующее сообщение:

w: Runtime JAR files in the classpath should have the same version. These files were found in the classpath:
    /home/janek/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib-jdk7/1.3.10/4d147bf43060dc43d61b096e24da1e67dfe0c032/kotlin-stdlib-jdk7-1.3.10.jar (version 1.3)
    /home/janek/.gradle/caches/transforms-1/files-1.1/kotlin-reflect-1.0.6.jar/beba9d201a205f30041b70982540014d/jetified-kotlin-reflect-1.0.6.jar (version 1.0)
    /home/janek/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib/1.3.11/4cbc5922a54376018307a731162ccaf3ef851a39/kotlin-stdlib-1.3.11.jar (version 1.3)
    /home/janek/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib-common/1.3.11/d8b8e746e279f1c4f5e08bc14a96b82e6bb1de02/kotlin-stdlib-common-1.3.11.jar (version 1.3)
w: Some runtime JAR files in the classpath have an incompatible version. Consider removing them from the classpath

Но я понятия не имею, почему здесь присутствует jetified-kotlin-reflect, поскольку он не является зависимостью и даже не появляется в androidDependencies.

Вы знаете, откуда она берется или как я могу решить эту ошибку?

Это похоже на предупреждение. Можете ли вы показать нам свои файлы build.gradle?

Jared Burrows 25.01.2019 07:51

У меня есть около 15 файлов build.gradle, вы уверены, что это поможет? Ни в одном из них нет ссылок на kotlin-reflect, а все библиотеки kotlin имеют версию 1.3.

xeruf 25.01.2019 14:19
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
12
2
4 705
1

Ответы 1

Я предполагаю, что плагин kotlin автоматически добавит kotlin-reffection.jar, если вы используете особенности отражения, например литеральный синтаксис класса.

On the Java platform, the runtime component required for using the reflection features is distributed as a separate JAR file (kotlin-reflect.jar). This is done to reduce the required size of the runtime library for applications that do not use reflection features. If you do use reflection, please make sure that the .jar file is added to the classpath of your project.

Я исправил предупреждения, явно добавив

implementation "org.jetbrains.kotlin:kotlin-reflect:$kotlin_version"

в мой build.gradle.

У меня была такая же проблема сейчас с gradle 7 и kotlin 1.5.31, тот же пакет (отражение 1.4.31) старше, чем другие, несмотря на то, что отражение не реализовано явно. С этим разобрался, но видимо ошибка в самом плагине?

David 26.09.2021 13:50

Другие вопросы по теме