构建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
中。
您知道它的来源或如何解决此错误吗?
答案 0 :(得分:2)
我想如果您像类文字语法那样使用reflection features,则kotlin插件会自动添加 kotlin-relfection.jar 。
在Java平台上,使用反射功能所需的运行时组件作为单独的JAR文件(kotlin-reflect.jar)分发。这样做是为了减少不使用反射功能的应用程序所需的运行时库大小。如果确实使用反射,请确保将.jar文件添加到项目的类路径中。
我通过明确添加来修正警告
implementation "org.jetbrains.kotlin:kotlin-reflect:$kotlin_version"
到我的build.gradle。