sonar-scanner (信创环境-arm64)执行报错
环境(信创环境 arm64 架构)
- sonarqube 9.9 社区版:sonarqube:9.9-community
- sonar-scanner 6.1.x :arm 架构的最低版本是 6.1.x
执行错误信息如下:
root@b72e85486e55:/exec/ship-test-service-01# export PATH=$JAVA_HOME/bin:$PATH
root@b72e85486e55:/exec/ship-test-service-01# java -version
java version "17.0.12" 2024-07-16 LTS
Java(TM) SE Runtime Environment (build 17.0.12+8-LTS-286)
Java HotSpot(TM) 64-Bit Server VM (build 17.0.12+8-LTS-286, mixed mode, sharing)
root@b72e85486e55:/exec/ship-test-service-01# sonar-scanner -Dsonar.host.url=http://xxx:9000 -Dsonar.projectKey=scan-0a2cd158-1a8e-11f0-8108-00163e367b2d -Dsonar.projectName=scan-0a2cd158-1a8e-11f0-8108-00163e367b2d -Dsonar.projectDate=2025-04-15T17:56:08+0000 -Dsonar.projectVersion= -Dsonar.language=java -Dsonar.sources=. -Dsonar.scm.disabled=false -Dsonar.scm.provider=git -Dsonar.analysis.isHookUseful=http://cube.tpz.za-tech.net/magic/api/rick/openapi/back/sonarUpdateBackCall/166783227351557 -Dsonar.exclusions= -Dsonar.inclusions= -Dsonar.pdf.skip=false -Dsonar.login=squ_3247009b676563973ba97153cea8c32501992c94 -Dsonar.analysis.isHookUseful=true -Dsonar.java.source=1.8 -Dsonar.java.binaries=target/classes
07:16:53.432 WARN Property 'sonar.analysis.isHookUseful' with value 'http://cube.tpz.za-tech.net/magic/api/rick/openapi/back/sonarUpdateBackCall/166783227351557' is overridden with value 'true'
07:16:53.438 INFO Scanner configuration file: /tools/sonar-scanner/sonar-scanner-6.2.1.4610-linux-aarch64/conf/sonar-scanner.properties
07:16:53.439 INFO Project root configuration file: NONE
07:16:53.453 INFO SonarScanner CLI 6.2.1.4610
07:16:53.454 INFO Java 17.0.12 Eclipse Adoptium (64-bit)
07:16:53.455 INFO Linux 4.19.90-25.23.v2101.ky10.aarch64 aarch64
07:16:53.480 INFO User cache: /root/.sonar/cache
07:16:53.976 INFO Communicating with SonarQube Server 9.9.8.100196
07:16:54.329 INFO Load global settings
07:16:54.413 INFO Load global settings (done) | time=85ms
07:16:54.415 INFO Server id: 49D9CDC2-AZYfbhGb9HcDZr3-AUhw
07:16:54.419 INFO User cache: /root/.sonar/cache
07:16:54.422 INFO Load/download plugins
07:16:54.422 INFO Load plugins index
07:16:54.465 INFO Load plugins index (done) | time=43ms
07:16:54.477 INFO Plugin [l10nzh] defines 'l10nen' as base plugin. This metadata can be removed from manifest of l10n plugins since version 5.2.
07:16:54.527 INFO Load/download plugins (done) | time=105ms
07:16:54.806 INFO EXECUTION FAILURE
07:16:54.807 INFO Total time: 1.370s
07:16:54.807 ERROR Error during SonarScanner CLI execution
java.lang.NoClassDefFoundError: org/sonar/scanner/scan/branch/ProjectPullRequestsLoaderat java.base/java.lang.ClassLoader.defineClass1(Native Method)at java.base/java.lang.ClassLoader.defineClass(Unknown Source)at java.base/java.security.SecureClassLoader.defineClass(Unknown Source)at java.base/java.net.URLClassLoader.defineClass(Unknown Source)at java.base/java.net.URLClassLoader$1.run(Unknown Source)at java.base/java.net.URLClassLoader$1.run(Unknown Source)
原因:官方 sonarquebe 中分支插件版本是 sonarqube-community-branch-plugin-1.8.1.jar ,版本过低,导致于 sonar-scanner 版本不兼容,如果是 4.8 以下可以,但是 arm 架构必须是 6.1.x 以上
处理方式:升级分支插件版本为 1.14.0 ,github 地址:https://github.com/mc1arke/sonarqube-community-branch-plugin/releases?page=2
吐槽一下:arm 架构太难搞了,资料真是少