【问题标题】:Error: discrepancies between JRE/JDK version and class file version错误:JRE/JDK 版本和类文件版本之间的差异
【发布时间】:2021-06-05 06:54:12
【问题描述】:

我正在尝试使用 Eclipse、Java、Selenium、Cucumber 和 Appium 测试一个 apk 文件。

在 Windows 环境变量中的系统变量下,我将 JAVA_HOME 的值设置为“C:\Program Files\Java\jdk-15.0.2”。

在 Eclipse 中,我在运行配置中使用了最新的 JDK 15.0.2。当我执行黄瓜测试时,出现以下错误:

C:\Users\x\AppData\Local\Programs\Appium\resources\app\node_modules\appium\node_modules\appium-uiautomator2-server\apks\appium-uiautomator2-server-v4.17.4.apk'。 原始错误:java.lang.UnsupportedClassVersionError: com/android/apksigner/ApkSignerTool 已由更新版本编译 Java Runtime 版本(类文件版本 53.0),此版本 Java 运行时只能识别最高 52.0 的类文件版本

我使用的是最新版本的 JDK,为什么会出现这个错误,我该如何解决?

【问题讨论】:

    标签: java android appium appium-android


    【解决方案1】:

    List of Java class file format major version numbers? 显示哪些 jdk 版本使用哪些类文件版本。如果您确实使用的是 java 15,那么您的 jdk 应该最多可以识别 59 个类文件。但是您的错误消息表明它只能识别最多 52 个版本,这表明您实际上使用的是 java 8。

    【讨论】:

    • 我进入项目的属性设置 --> Java 编译器 --> 编译器合规级别并将其更改为 12(最高级别)。仍然出现同样的错误。
    • 编译器目标级别和运行时环境是有区别的。我这里没有安装 Eclipse,所以可以准确地说出是哪个设置有问题。
    • 运行环境为15.0.2。我通过单击 Windows --> Preferences --> Java --> Installed JREs 进行了检查
    • 可以同时安装多个 Java 版本。 证据显示(明确!)您确实在您的系统上安装了 Java 8 JRE 或 JDK,并且您的应用程序正在使用它运行。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-31
    • 1970-01-01
    • 2015-12-13
    • 1970-01-01
    • 1970-01-01
    • 2012-12-07
    相关资源
    最近更新 更多