Gradle and Sonar version compatibility issue

I have a Java8 project. But I am not able to run sonarqube analysis on it. It looks like it has some version incompatibility between sonarqube and gradle versions. Java8 cannot be changed. What should be the combination of other versions so that sonar analysis works well.

I tried different combinations of gradle version and sonar plugin but nothing seems to work. If I go 3.3 and below in sonar versions it starts looking for destination or outputLocation method. If I go 4.0 and above it starts saying that Java8 is incompatible with that version.

I am using gradle version 8.2. I figured I cannot use sonar plugin 4.+ as they don’t support Java 8. So, I have options like 3.5, 3.3, 2.7. When I use 2.7 or 3.3 or 3.5, I get this error:

java.lang.NoSuchMethodError: org.gradle.api.tasks.testing.JUnitXmlReport.getDestination()Ljava/io/File;
2024-06-03T20:12:03.312-0500 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.sonarqube.gradle.SonarPropertyComputer.configureTestReports(SonarPropertyComputer.java:273)
2024-06-03T20:12:03.312-0500 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.sonarqube.gradle.SonarPropertyComputer.extractTestProperties(SonarPropertyComputer.java:241)
2024-06-03T20:12:03.312-0500 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.sonarqube.gradle.SonarPropertyComputer.lambda$configureForJava$4(SonarPropertyComputer.java:212)
2024-06-03T20:12:03.312-0500 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.api.internal.collections.CollectionFilter$1.execute(CollectionFilter.java:59)
2024-06-03T20:12:03.312-0500 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.api.internal.DefaultDomainObjectCollection.all(DefaultDomainObjectCollection.java:161)
2024-06-03T20:12:03.312-0500 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.api.internal.DefaultDomainObjectCollection.withType(DefaultDomainObjectCollection.java:203)
2024-06-03T20:12:03.312-0500 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.sonarqube.gradle.SonarPropertyComputer.configureForJava(SonarPropertyComputer.java:208)
2024-06-03T20:12:03.312-0500 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.sonarqube.gradle.SonarPropertyComputer.addGradleDefaults(SonarPropertyComputer.java:384)
2024-06-03T20:12:03.312-0500 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.sonarqube.gradle.SonarPropertyComputer.computeSonarProperties(SonarPropertyComputer.java:96)
2024-06-03T20:12:03.312-0500 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.sonarqube.gradle.SonarPropertyComputer.computeSonarProperties(SonarPropertyComputer.java:82)
2024-06-03T20:12:03.312-0500 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.sonarqube.gradle.SonarQubePlugin.lambda$configureTask$1(SonarQubePlugin.java:96)

When I use 4.0.0.2929 or any 4.+, I get this error:

Execution failed for task ‘:sonar’.
2024-06-03T20:24:56.490-0500 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] > 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
2024-06-03T20:24:56.490-0500 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]
2024-06-03T20:24:56.490-0500 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] * Try:
2024-06-03T20:24:56.490-0500 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] > Get more help at https://help.gradle.org.
2024-06-03T20:24:56.491-0500 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]
2024-06-03T20:24:56.491-0500 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] * Exception is:
2024-06-03T20:24:56.491-0500 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] org.gradle.api.tasks.TaskExecutionException: Execution failed for task ‘:sonar’.
2024-06-03T20:24:56.491-0500 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.lambda$executeIfValid$1(ExecuteActionsTaskExecuter.java:149)
2024-06-03T20:24:56.491-0500 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.internal.Try$Failure.ifSuccessfulOrElse(Try.java:282)
2024-06-03T20:24:56.491-0500 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeIfValid(ExecuteActionsTaskExecuter.java:147)
2024-06-03T20:24:56.491-0500 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:135)
2024-06-03T20:24:56.491-0500 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.api.internal.tasks.execution.FinalizePropertiesTaskExecuter.execute(FinalizePropertiesTaskExecuter.java:46)
2024-06-03T20:24:56.491-0500 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.api.internal.tasks.execution.ResolveTaskExecutionModeExecuter.execute(ResolveTaskExecutionModeExecuter.java:51)
2024-06-03T20:24:56.491-0500 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:57)
2024-06-03T20:24:56.491-0500 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:74)
2024-06-03T20:24:56.491-0500 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:36)
2024-06-03T20:24:56.491-0500 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.executeTask(EventFiringTaskExecuter.java:77)
2024-06-03T20:24:56.491-0500 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:55)
2024-06-03T20:24:56.491-0500 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:52)
2024-06-03T20:24:56.491-0500 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:204)

Hey there.

One important piece of information is missing – what version of SonarQube are you using? You should be able to find this info in the footer of your SonarQube instance.