在运行脚本时,我在Eclipse控制台中得到以下错误消息:
类已经由最新版本的Java环境(类文件版本53.0)编译,该版本的Java运行时只识别52.0以下的类文件版本。
Java版本:8 IDE: Eclipse Oxygen Firefox版本:46
在运行脚本时,我在Eclipse控制台中得到以下错误消息:
类已经由最新版本的Java环境(类文件版本53.0)编译,该版本的Java运行时只识别52.0以下的类文件版本。
Java版本:8 IDE: Eclipse Oxygen Firefox版本:46
当前回答
在将编译器的版本配置为1.8(你需要的版本)后,尝试spring引导的旧版本,目前默认是3.0.0,但你可以尝试2.7.6。
在这里输入图像描述
其他回答
IDE: Eclipse 2021-09
这是因为您使用java版本9编译了代码并安装了java8。您不必更新来解决此问题。
右键单击项目>属性> Java Compiler >取消勾选-启用 项目特定设置>配置工作空间设置> tick-Use 默认合规设置>应用并关闭。
现在您的代码应该被正确执行了。
看起来每个人都在使用windows进行开发,但如果你使用Linux,降低你的Java版本。如果你想安装JDK 8, @Nithin提供的版本表应该会让你知道你想安装哪个版本。
你可能在IntelliJ中也会看到这个错误,在谷歌中也会出现。
我认为这是一个Gradle错误而不是IDE错误。
修复(从这里偷来的)是在IntelliJ中将Java 11配置为Gradle JVM:
文件->设置->构建,执行和开发->构建工具-> Gradle并将Gradle JVM更改为11
这张截图也是从《Jetbrains》中偷来的
在build.gradle(app)中更新如下:(为我工作)
kotlinOptions {
jvmTarget = '1.8'
}
Sonarqube也有同样的问题
已经由最新版本的Java运行时(类文件版本55.0)编译,这个版本的Java运行时只识别类文件版本52.0
Sonarqube与AzureDevOps错误输出:
INFO: SonarScanner 4.6.2.2472 INFO: Java 1.8.0_231 Oracle Corporation (32-bit) INFO: Windows Server 2016 10.0 x86 INFO: User cache: C:\Windows\system32\config\systemprofile.sonar\cache INFO: Scanner configuration file: C:\agent_a_work_tasks\SonarQubePrepare_15b84ca1-b62f-4a2a-a403-89b77a063157\5.4.0\classic-sonar-scanner-msbuild\sonar-scanner-4.6.2.2472\bin..\conf\sonar-scanner.properties INFO: Project root configuration file: C:\agent_a_work\189.sonarqube\out\sonar-project.properties INFO: Analyzing on SonarQube server 9.4.0 INFO: Default locale: "en_AU", source code encoding: "windows-1252" (analysis is platform dependent) INFO: ------------------------------------------------------------------------ INFO: EXECUTION FAILURE INFO: ------------------------------------------------------------------------ INFO: Total time: 0.405s INFO: Final Memory: 3M/15M ##[error]ERROR: Error during SonarScanner execution java.lang.UnsupportedClassVersionError: org/sonar/batch/bootstrapper/EnvironmentInformation has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0
我在Sonarcube服务器上安装了Java v11,但错误提示它的构建代理没有Java v11。
我决定将Java v12 bin路径添加到环境变量路径中,以便检测它。重要的是,这需要在构建代理上完成:
对于托管生成代理,您可以安装JDK v11或使用以下PowerShell脚本步骤:
- task: PowerShell@2
displayName: 'Download and Install Java v11'
inputs:
targetType: 'inline'
script: |
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
$Command = "c:\jdk-11.0.15_windows-x64_bin.exe"
$Parms = "/s"
Write-Host [System.IO.File]::Exists($Command)
if ([System.IO.File]::Exists($Command)) {
Write-Host 'Downloading Java11.exe'
Invoke-WebRequest https://yourOwnUrl.com/jdk-11.0.15_windows-x64_bin.exe -OutFile $Command
}
Write-Host [System.IO.File]::Exists($Command)
& "$Command" $Prms
[System.Environment]::SetEnvironmentVariable("JAVA_HOME", "C:\Program Files\Java\jdk-11.0.15")
[System.Environment]::SetEnvironmentVariable("Path", [System.Environment]::GetEnvironmentVariable('Path', [System.EnvironmentVariableTarget]::Machine) + ";$($env:JAVA_HOME)\bin")