Must-share information (formatted with Markdown):
- which versions are you using (SonarQube, Scanner, Plugin, and any relevant extension)
This is running Gradle plugin with sonarqube set to true on ADO (Azure Devops)
UI: SonarQube Version 6.7.1 (build 35068) - LGPL v3 - Community
JVM: 17.0.4 (Private Build 17.0.4+8-Ubuntu-118.04)
Gradle 7.4.1
id “org.sonarqube” version ‘3.4.0.2513’
INFO: SonarScanner 4.7.0.2747
INFO: Java 11.0.16 Ubuntu (64-bit)
INFO: Linux 5.4.0-1086-azure amd64
> Task :sonarqube
Unable to create symbol table for : 'build/generated-src/xxxxx.java'
java.lang.IllegalArgumentException: Unsupported class file major version 61
at org.objectweb.asm.ClassReader.<init>(ClassReader.java:195)
at org.objectweb.asm.ClassReader.<init>(ClassReader.java:176)
at org.objectweb.asm.ClassReader.<init>(ClassReader.java:162)
at org.sonar.java.resolve.BytecodeCompleter.loadClass(BytecodeCompleter.java:244)
at org.sonar.java.resolve.Symbols.<init>(Symbols.java:176)
at org.sonar.java.resolve.SemanticModel.createFor(SemanticModel.java:60)
at org.sonar.java.model.VisitorsBridge.visitFile(VisitorsBridge.java:122)
at org.sonar.java.ast.JavaAstScanner.simpleScan(JavaAstScanner.java:90)
at org.sonar.java.ast.JavaAstScanner.scan(JavaAstScanner.java:67)
at org.sonar.java.JavaSquid.scanSources(JavaSquid.java:114)
at org.sonar.java.JavaSquid.scan(JavaSquid.java:108)
at org.sonar.plugins.java.JavaSquidSensor.execute(JavaSquidSensor.java:88)
at org.sonar.scanner.sensor.SensorWrapper.analyse(SensorWrapper.java:53)
at org.sonar.scanner.phases.SensorsExecutor.executeSensor(SensorsExecutor.java:88)
at org.sonar.scanner.phases.SensorsExecutor.execute(SensorsExecutor.java:82)
at org.sonar.scanner.phases.SensorsExecutor.execute(SensorsExecutor.java:68)
at org.sonar.scanner.phases.AbstractPhaseExecutor.execute(AbstractPhaseExecutor.java:88)
- what are you trying to achieve
- what have you tried so far to achieve this
setting for Prepare has been
- task: SonarQubePrepare@5
inputs:
SonarQube: 'sonarConnection'
scannerMode: 'Other'
extraProperties: |
sonar.verbose=True
sonar.projectKey=project_key
sonar.projectName=project_name
sonar.projectVersion=v1.0
sonar.exclusions="**/generated/**,**/exception/**"
jdk-17 is used by gradle project for its build.
and the gradle build with sonarqube enabled is
- task: Gradle@2
inputs:
gradleWrapperFile: 'gradlew'
tasks: 'build'
publishJUnitResults: false
javaHomeOption: 'Path'
jdkDirectory: '/usr/lib/jvm/java-17-openjdk-amd64/'
gradleOptions: '-Xmx3072m'
sonarQubeRunAnalysis: true
sqGradlePluginVersionChoice: 'build'
spotBugsAnalysis: false
displayName: Gradle Build & Publish Test Results
The build part goes fine.
but when the sonarqube task is run, it throws error
Task :sonarqube
Unable to create symbol table for : ‘build/generated-src/xxxxx.java’
java.lang.IllegalArgumentException: Unsupported class file major version 61
at org.objectweb.asm.ClassReader.(ClassReader.java:195)
at org.objectweb.asm.ClassReader.(ClassReader.java:176)
As this is Gradle , I cannot run the Analyzer part separately (- task: SonarQubeAnalyze@5)
I even tried to set the below in SonarQubePrepare - extaProperties.
sonar.java.source=1.17
sonar.java.jdkHome=/usr/lib/jvm/java-17-openjdk-amd64
But get the same Error as above.
Please advise.
Note:
sonar.java.jdkHome: Java
sonar.java.source: Java
The references above say one doesn’t need to set these if one is using Maven/Gradle
and since I am using Gradle those really doesn’t need to be set.