运行声纳扫描仪时出错:java.lang.NoClassDefFoundError: org/sonar/batch/bootstrapper/LogOutput$Level

Posted

技术标签:

【中文标题】运行声纳扫描仪时出错:java.lang.NoClassDefFoundError: org/sonar/batch/bootstrapper/LogOutput$Level【英文标题】:Getting error while run sonar-scanner: java.lang.NoClassDefFoundError: org/sonar/batch/bootstrapper/LogOutput$Level 【发布时间】:2018-09-06 00:39:15 【问题描述】:
sonar-scanner -X
19:49:25.192 INFO: Scanner configuration file: /usr/local/Cellar/sonar-scanner/3.1.0.1141/libexec/conf/sonar-scanner.properties

19:49:25.211 INFO: SonarQube Scanner 3.1.0.1141
19:49:25.212 INFO: Java 1.8.0_131 Oracle Corporation (64-bit)
19:49:25.212 INFO: Mac OS X 10.13 x86_64
19:49:25.363 DEBUG: keyStore is : 
19:49:25.363 DEBUG: keyStore type is : jks
19:49:25.363 DEBUG: keyStore provider is : 


19:49:25.589 DEBUG: Create isolated classloader...
19:49:25.597 DEBUG: Start temp cleaning...
19:49:25.607 DEBUG: Temp cleaning done
19:49:25.607 DEBUG: Execution getVersion

列表项

19:49:25.623 信息:执行失败 19:49:25.623 信息:-------------------------------------------- ----------------------------------------- 19:49:25.623 信息:总时间:0.452s 19:49:25.648 信息:最终内存:4M/123M 19:49:25.648 信息:-------------------------------------------- ----------------------------------------- 19:49:25.648 错误:SonarQube 扫描仪执行期间出错 java.lang.BootstrapMethodError: java.lang.NoClassDefFoundError: org/sonar/batch/bootstrapper/LogOutput$Level 在 org.sonarsource.scanner.api.internal.batch.DefaultBatchFactory.createBatch(DefaultBatchFactory.java:35) 在 org.sonarsource.scanner.api.internal.batch.BatchIsolatedLauncher.execute(BatchIsolatedLauncher.java:46) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在 java.lang.reflect.Method.invoke(Method.java:498) 在 org.sonarsource.scanner.api.internal.IsolatedLauncherProxy.invoke(IsolatedLauncherProxy.java:60) 在 com.sun.proxy.$Proxy0.execute(未知来源) 在 org.sonarsource.scanner.api.EmbeddedScanner.doExecute(EmbeddedScanner.java:171) 在 org.sonarsource.scanner.api.EmbeddedScanner.execute(EmbeddedScanner.java:128) 在 org.sonarsource.scanner.cli.Main.execute(Main.java:111) 在 org.sonarsource.scanner.cli.Main.execute(Main.java:75) 在 org.sonarsource.scanner.cli.Main.main(Main.java:61) 引起:java.lang.NoClassDefFoundError: org/sonar/batch/bootstrapper/LogOutput$Level ... 13 更多 引起:java.lang.ClassNotFoundException:org.sonar.batch.bootstrapper.LogOutput$Level 在 java.net.URLClassLoader.findClass(URLClassLoader.java:381) 在 org.sonarsource.scanner.api.internal.IsolatedClassloader.loadClass(IsolatedClassloader.java:82) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:357) ... 13 更多

【问题讨论】:

请提供更多意见 @SalmanS 我添加了更多细节 你能帮忙解决一下:当我正在执行命令 Sonnar-Scannar-x 请edit您的问题包括有关您的上下文的详细信息:也许:扫描仪风格,SonarQube 版本,Java 版本,分析机的操作系统,... 它已经在日志中了..请帮我解决这个问题 【参考方案1】:

SonarQube 扫描仪 3.1.0.1141 (19:49:25.211 INFO: SonarQube Scanner 3.1.0.1141) 与 SonarQube 5.6+ (LTS) (read more here) 兼容。您拥有 SonarQube 服务器 5.0.1 (19:49:25.610 INFO: SonarQube server 5.0.1),因此这两个工具不兼容(org/sonar/batch/bootstrapper/LogOutput$Level 类已在 5.2 中添加)。

你可以:

使用旧版本的扫描仪(download sonar-runner 2.4 - 了解runner vs scanner) 将 SonarQube 服务器升级到至少 5.6

【讨论】:

以上是关于运行声纳扫描仪时出错:java.lang.NoClassDefFoundError: org/sonar/batch/bootstrapper/LogOutput$Level的主要内容,如果未能解决你的问题,请参考以下文章

使用 SCM 提供程序自动检测执行 SonarQube 扫描仪时出错

Sonarqube 与声纳扫描仪

在 gitlab-ci 中运行声纳扫描仪

在竹子中配置声纳

从 setup.py 运行声纳扫描仪

使用 .net 核心声纳扫描仪将声纳结果发布到 tfs 构建