类路径中的某些运行时 JAR 文件的版本不兼容。考虑将它们从类路径中删除

Posted

技术标签:

【中文标题】类路径中的某些运行时 JAR 文件的版本不兼容。考虑将它们从类路径中删除【英文标题】:Some runtime JAR files in the classpath have an incompatible version. Consider removing them from the classpath 【发布时间】:2021-01-28 02:28:22 【问题描述】:

我在构建我的 android studio 项目时遇到以下错误。

知道如何解决这些问题吗?

任务:app:compileDebugKotlin w:类路径中的运行时 JAR 文件应该具有相同的版本。这些文件在类路径中找到: /Users/arpit/.gradle/caches/transforms-2/files-2.1/2f0acfdb5ca832ed018dc4bc38a13985/jetified-kotlin-stdlib-jdk8-1.3.61.jar(1.3版) /Users/arpit/.gradle/caches/transforms-2/files-2.1/cf0b910eaf7d073f4207081a72f8fccf/jetified-kotlin-stdlib-jdk7-1.3.61.jar(1.3版) /Users/arpit/.gradle/caches/transforms-2/files-2.1/7f0de453ba67b933d609d2948e77e8ae/jetified-kotlin-stdlib-1.4.10.jar(1.4版) /Users/arpit/.gradle/caches/transforms-2/files-2.1/28dd71f1078961ee52c8b9a5ea1ba04a/jetified-kotlin-stdlib-common-1.4.10.jar(1.4版) w:

Screenshot

【问题讨论】:

即使我也有同样的错误。有人请帮助我。 【参考方案1】:

我在使用 Kotlin 的后端项目中面临同样的警告。

我已将 Kotlin 版本更改为 1.4.10,并且每次测试运行时都会开始出现警告。可能有一些传递依赖会引入带有旧版本 Kotlin 的类路径 jar。 在我的类路径中,我发现 kotlin-reflect 1.3.* 这不是当前项目所必需的,但是编译时 Gradle 总是从 ~/.gradle 获取相同的类路径,并且可能会假设在运行时可能会出错. 我已经通过添加具有相同版本的 Kotlin jvm 目标的 kotlin-reflect 依赖项来解决。这很丑,因为我不需要 kotlin-reflect,但警告已经消失,我很高兴。

【讨论】:

【参考方案2】:

也许你的项目结构有问题。

在安卓工作室File > Project Structure... > Modules > 'your_module_android' > Dependencies

选中 KotlinJavaRuntime 框。

【讨论】:

以上是关于类路径中的某些运行时 JAR 文件的版本不兼容。考虑将它们从类路径中删除的主要内容,如果未能解决你的问题,请参考以下文章

windows下jar无法在linux下运行

加jar包啥时候需要添加类路径

jar方式运行项目-读取jar包中的文件

如何将eclipse项目打包时为啥没有存放路径

linux命令行运行jar包,一定要用-classpath指定路径吗?另外jar包名字后面还要跟一个类,这是为啥?

由于版本不兼容,无法运行 Angular 项目