标签: unsupported-class-version

java.lang.UnsupportedClassVersionError:.class文件中的错误版本号

我在eclipes中遇到这个错误java.lang.UnsupportedClassVersionError: Bad version number in .class file.

当我运行javac -version它打印

javac 1.5.0_28
Run Code Online (Sandbox Code Playgroud)

如果我右键单击,eclipes,属性 - > java编译器,它说我正在使用1.5,如果我然后去java build path,我JRE System Library [JVM 1.5.0 (MacOS X Default)]在那里.

为什么我会收到此错误,如何解决?

EDITS

java -version 版画

java version "1.5.0_28"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_28-b04-382-9M3326)
Java HotSpot(TM) Client VM (build 1.5.0_28-157, mixed mode, sharing)
Run Code Online (Sandbox Code Playgroud)

我的应用程序中的其他库是libgdx库.

完整的错误是

Exception in thread "main" java.lang.UnsupportedClassVersionError: Bad version number in .class file
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:676)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
at …
Run Code Online (Sandbox Code Playgroud)

java macos unsupported-class-version

5
推荐指数
1
解决办法
3万
查看次数

Java/Maven 混淆“不支持的主要.次要版本 51.0”

我正在尝试下载并安装这个 Maven 插件:

https://github.com/mirkonasato/graphipedia

cd在目录中并运行

mvn clean install
Run Code Online (Sandbox Code Playgroud)

我今天在 Mac 上使用 homebrew 安装了 mvn,所以它应该是最新的。我收到的错误是:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.3.2:compile (default-compile) on project graphipedia-dataimport: Compilation failure
[ERROR] error: Exception thrown while constructing Processor object: org/neo4j/kernel/impl/annotations/ServiceProcessor : Unsupported major.minor version 51.0
Run Code Online (Sandbox Code Playgroud)

我用 google 搜索了这个错误,发现有几个人说,原因可能是旧的 Java 版本。所以我检查了我的系统偏好设置,它显示 Java 7。

但我真的不相信这一点并跑了

mvn --version
Run Code Online (Sandbox Code Playgroud)

这给了我这个输出

Apache Maven 3.2.3 (33f8c3e1027c3ddde99d3cdebad2656a31e8fdf4; 2014-08-11T22:58:10+02:00)
Maven home: /usr/local/Cellar/maven/3.2.3/libexec
Java version: 1.6.0_65, vendor: Apple Inc.
Java home: /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
Default locale: de_DE, platform encoding: MacRoman
OS name: "mac os …
Run Code Online (Sandbox Code Playgroud)

java maven unsupported-class-version

5
推荐指数
1
解决办法
4万
查看次数

UnsupportedClassVersionError : Gradle 和 Java 运行时版本错误

我对 Gradle 非常陌生,我想尝试一下这个很酷的项目:Strange,一个用于 Java 的量子计算 API(我将在下面留下指向 github 项目的链接)。他们推荐使用 Gradle,所以我这样做了。

在我正在处理的目录中,只有 3 个文件:

  1. 我的 java 主类HelloStrangeWorld.java
  2. 构建.gradle
  3. settings.gradle

现在我只想在我的目录中测试命令:

$ gradle tasks
Run Code Online (Sandbox Code Playgroud)

我得到了这个:

FAILURE:构建失败,出现异常。* 出了什么问题:java.lang.UnsupportedClassVersionError: org/javamodularity/moduleplugin/ModuleSystemPlugin 已由更新版本的 Java Runtime(类文件版本 55.0)编译,此版本的 Java Runtime 仅识别最高版本的类文件52.0

org/javamodularity/moduleplugin/ModuleSystemPlugin 已由更新版本的 Java Runtime(类文件版本 55.0)编译,此版本的 Java Runtime 仅识别高达 52.0 的类文件版本


我拥有的 :

  • 我的 Java 设置为 1.8

  • 我使用 SDKMAN 安装了 Gradle

build.gradle的内容如下:

plugins {
    id 'java'
    id 'application'
    id 'org.javamodularity.moduleplugin' version '1.2.1'
}

group 'helloStrangeWorld'
version '1.0-SNAPSHOT'

repositories {
    mavenCentral() …
Run Code Online (Sandbox Code Playgroud)

java gradle unsupported-class-version java-runtime-compiler

3
推荐指数
1
解决办法
6206
查看次数

java.lang.UnsupportedClassVersionError:com/google/doclava/Doclava:不支持的major.minor版本51.0 android build

我试图通过谷歌来源自己的AOSP建立.我完成了Google文档中提到的步骤,并成功构建了它,并成功地使用图像刷新了我的设备.但是,我做了一些更改后尝试再次构建它(基本上只是添加了一些日志来玩它).构建错误了.然后我再次尝试制作,它说Javac 1.6发现了.必需的Javac 1.7.然后,我使用以下命令跟踪此特定问题的答案:

 update-alternatives --config javac
There are 2 choices for the alternative javac (providing /usr/bin/javac).

  Selection    Path                                         Priority   Status
------------------------------------------------------------
  0            /usr/lib/jvm/java-7-openjdk-amd64/bin/javac   1051      auto mode
* 1            /usr/lib/jvm/j2sdk1.6-oracle/bin/javac        315       manual mode
  2            /usr/lib/jvm/java-7-openjdk-amd64/bin/javac   1051      manual mode
Run Code Online (Sandbox Code Playgroud)

然后我选择了选项0.然后我再次尝试制作.这次失败并出现以下错误:

java.lang.UnsupportedClassVersionError: com/google/doclava/Doclava : Unsupported major.minor version 51.0 android build
Run Code Online (Sandbox Code Playgroud)

在经历了这个问题的所有答案之后(我发现这个问了很多次),我发现这是因为编译时间(更高版本)和运行时间(更低版本)JDK不匹配,我应该使用Java 1.7重新编译它.我如何为Android构建做到这一点?我也很惊讶为什么我收到错误"Javac 1.6 found.需要Javac 1.7." 因为我使用Java 1.6成功创建了构建.

java android jvm unsupported-class-version

2
推荐指数
1
解决办法
1995
查看次数

JasperReports:不支持的major.minor版本51.0

可能重复:
线程"main"中的异常java.lang.UnsupportedClassVersionError:a(不支持的major.minor版本51.0)

我得到错误"不支持的major.minor版本51.0".我正在使用jdk 1.6并使编译器合规性级别达到1.6并且jre是jre6.我仍然在犯同样的错误.

这是我的错误

java.lang.UnsupportedClassVersionError: transfer_1355215622877_662113 : Unsupported major.minor version 51.0
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:615)
    at net.sf.jasperreports.engine.util.JRClassLoader.loadClass(JRClassLoader.java:245)
    at net.sf.jasperreports.engine.util.JRClassLoader.loadClassFromBytes(JRClassLoader.java:154)
    at net.sf.jasperreports.engine.design.JRAbstractJavaCompiler.loadEvaluator(JRAbstractJavaCompiler.java:76)
    at net.sf.jasperreports.engine.design.JRAbstractCompiler.loadEvaluator(JRAbstractCompiler.java:327)
    at net.sf.jasperreports.engine.design.JRDefaultCompiler.loadEvaluator(JRDefaultCompiler.java:218)
    at net.sf.jasperreports.engine.fill.JRFillDataset.createCalculator(JRFillDataset.java:404)
    at net.sf.jasperreports.engine.fill.JRBaseFiller.(JRBaseFiller.java:373)
Run Code Online (Sandbox Code Playgroud)

java version unsupported-class-version

1
推荐指数
1
解决办法
8298
查看次数

从 javac 或 JRE 获取没有编译类的 java 类版本

Java 类版本可以使用以下命令从类二进制文件中获取javap

javap -verbose Test | grep 'minor\|major'
  minor version: 0
  major version: 55
Run Code Online (Sandbox Code Playgroud)

是否可以提前知道 JDK 将生成哪个类版本? java -version不显示它

java -version
openjdk version "11.0.17" 2022-10-18
Run Code Online (Sandbox Code Playgroud)

通常与java.lang.UnsupportedClassVersionError相关。

java javac unsupported-class-version

1
推荐指数
1
解决办法
710
查看次数

Chronicle Map UnsupportedClassVersionError

我只是尝试ChronicleMap并立即遇到一个问题,"UnsupportedClassVersionError:Unsupported major.minor version 52.0".

我正在使用Java 7 ...我是否应该将此错误解释为表示Chronicle Map是在Java 8下编译的?我是否需要下载源代码并在Java 7下编译来解决此问题(这甚至可以工作)?

java unsupported-class-version chronicle chronicle-map

0
推荐指数
1
解决办法
542
查看次数