在运行脚本时,我在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
当前回答
IDE: Eclipse Oxygen.3
要临时纠正这个问题,请执行以下操作:
1.8 .项目菜单>属性> Java编译器>编译器遵从级别>
一个永久性的解决方案可能涉及安装JDK 9。
供您参考,Java 8被称为1.8。
侧边栏
最近,我在尝试了c#之后(呼吸了一股新鲜空气)又回到了Java,并将Eclipse Oxygen安装到一个以前从未安装过Java的干净系统上。这种默认的一切都是全新安装的Eclipse Oxygen,但不知为何Eclipse无法获得自己的参数来匹配已安装的jdk。这是我创建的第二个项目,也是我第二次遇到这个头疼的问题。是时候回到c#了?
相关的问题
已被最新版本的Java运行时(类文件版本53.0)编译。
其他回答
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")
IDE: Eclipse Oxygen.3
要临时纠正这个问题,请执行以下操作:
1.8 .项目菜单>属性> Java编译器>编译器遵从级别>
一个永久性的解决方案可能涉及安装JDK 9。
供您参考,Java 8被称为1.8。
侧边栏
最近,我在尝试了c#之后(呼吸了一股新鲜空气)又回到了Java,并将Eclipse Oxygen安装到一个以前从未安装过Java的干净系统上。这种默认的一切都是全新安装的Eclipse Oxygen,但不知为何Eclipse无法获得自己的参数来匹配已安装的jdk。这是我创建的第二个项目,也是我第二次遇到这个头疼的问题。是时候回到c#了?
相关的问题
已被最新版本的Java运行时(类文件版本53.0)编译。
在我的情况下,我使用IntellJ Idea和设置JDK11作为我的SDK和JDK17在gradle设置。
只要把我的SDK更新为JDK17,问题就解决了
检查“项目设置”(CMD+;) -> SDK中的JDK
with
“头参考资料”中的“gradle JVM”(CMD+) ->内置工具-> gradle JVM
转到项目部分,点击属性>,然后到Java编译器>检查编译器的合规性级别是1.8,或者底部应该没有黄色警告
我在Intellij中遇到了这个错误。显然,选择java 1.8作为项目SDK并不会影响用于构建项目的javac编译器。
要更改,请进入设置->构建,执行,部署->编译器-> Java编译器,并将项目字节码版本更改为8。