我正在尝试将声纳分析与vsts中的CI构建集成在一起。 我收到以下错误:
[![Exception in thread “main” java.lang.UnsupportedClassVersionError: JVMCFRE003 bad major version; class=org/sonarsource/scanner/cli/Main, offset=6
at java.lang.ClassLoader.defineClassImpl(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:284)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:154)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:711)
at java.net.URLClassLoader.access$400(URLClassLoader.java:92)
at java.net.URLClassLoader$ClassFinder.run(URLClassLoader.java:1159)
at java.security.AccessController.doPrivileged(AccessController.java:314)
at java.net.URLClassLoader.findClass(URLClassLoader.java:594)
at java.lang.ClassLoader.loadClassHelper(ClassLoader.java:711)
at java.lang.ClassLoader.loadClass(ClassLoader.java:679)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:325)
at java.lang.ClassLoader.loadClass(ClassLoader.java:658)
at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:488)
The SonarQube Scanner did not complete successfully
10:35:17.85 Post-processing failed. Exit code: 1
D:\VSTS Agent Folder_tasks\SonarQubePrepare_15b84ca1-b62f-4a2a-a403-89b77a063157\4.6.3\classic-sonar-scanner-msbuild\SonarScanner.MSBuild.exe failed with return code: 1][1]][1]
答案 0 :(得分:0)
将Sonarqube分析与CI构建集成在一起
根据错误消息“ java.lang.UnsupportedClassVersionError:JVMCFRE003主要版本不良; class = org / sonarsource / scanner / cli / Main,offset = 6 ”,看来您没有安装正确版本的Java Runtime Environment。
作为文档Analyzing with SonarQube Extension for VSTS-TFS的状态,我们需要在私有代理上安装 Java Runtime Environment 8 :
安装
- 确保已安装.NET Framework v4.6 +
- 确保已安装 Java Runtime Environment 8
- 从市场上安装扩展程序
我们可以使用较旧的JDK构建项目,但SonarQube分析应由JDK 8或更高版本执行。
希望这会有所帮助。
答案 1 :(得分:0)
这实际上是jdk版本的问题。 我已经将'java_home'环境变量更新为使用jdk 8,从而解决了该问题。 最初是C:\ Program Files(x86)\ IBM \ WebSphere \ AppServer \ java_1.7_64,现在我将其更新为C:\ ProgramFiles(x86)\ Java \ jdk1.8.0_172。