在运行脚本时,我在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
当前回答
您应该检查您的Project Facets。
项目属性>项目facet
将java版本更改为您正在使用的相同版本。这对我很有用!
其他回答
对我来说,解决方案是按照安德烈·库兹涅佐夫在https://youtrack.jetbrains.com/issue/IDEA-251407/Failed-to-run-Android-project-in-the-Idea-20203-EAP-OutputBuildAction-has-been-compiled-by-a-more-recent-version-of-the-Java上所说的去做,总结如下:
根本原因:IDEA源码现在是基于Java 11编译的。已知的解决方法是将Java 11配置为Gradle JVM。”(Andrei“库兹涅佐夫”)
对于PhpStorm 2022.3尝试:
sudo apt-get purge openjdk-\*
sudo apt install openjdk-19-jdk
export JAVA_HOME=/usr/lib/jvm/java-19-openjdk-amd64
export PATH=$PATH:$JAVA_HOME/bin
/opt/PhpStorm-223.7571.212/bin/phpstorm.sh
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")
我的错误类似:“UnsupportedClassVersionError:类已被最新版本的Java运行时编译。”
解决方案:我尝试将我的JAVA版本从15更新到17,它在我的情况下工作,而不是更新编译器中的所有JRE或做其他事情。
只需下载更新版本的JAVA,并将SYSTEM Variable中的路径更改为17
返回到项目并应用以下步骤:
选择你的项目——>点击属性(最后)---->选择JAVA构建路径——>改变JRE从15到17 ---->应用——>应用并关闭
对我来说,这个问题已经通过安装旧版本的testng解决了。看起来它与我的Java 8编译