22

Environment details:

  • SonarQube 5.6
  • Apache Maven 3.3.9
  • Java version: 1.7.0_09

I integrated SonarQube plugin with java maven project like in pom.xml

<build>
    <pluginManagement>
        <plugins>
            <plugin>
                <groupId>org.sonarsource.scanner.maven</groupId>
                <artifactId>sonar-maven-plugin</artifactId>
                <version>3.0.2</version>
            </plugin>
        </plugins>
    </pluginManagement>
</build>

While executing goal: mvn sonar:sonar -Dsonar.host.url=<url>

Getting exception:

[ERROR] Failed to execute goal org.sonarsource.scanner.maven:sonar-maven-plugin:3.0.2:sonar (default-cli) on project example-java-maven: Execution default-cli of goal org.sonarsource.scanner.maven:sonar-maven-plugin:3.0.2:sonar failed: An API incompatibility was encountered while executing org.sonarsource.scanner.maven:sonar-maven-plugin:3.0.2:sonar: java.lang.UnsupportedClassVersionError: org/sonar/batch/bootstrapper/EnvironmentInformation: Unsupported major.minor version 52.0 [ERROR] ----------------------------------------------------- [ERROR] realm = plugin>org.sonarsource.scanner.maven:sonar-maven-plugin:3.0.2

Max Leske
  • 5,007
  • 6
  • 42
  • 54
user3492783
  • 221
  • 1
  • 2
  • 3

3 Answers3

27

SonarQube 5.6 requires at least Java 8 (see requirements). Note that this is not a just a requirement on the server side, it's also required on the client side where analysis are ran.

Like agabrys mentioned in his comment, the Unsupported major.minor is a classic Java error (see this thread).

Community
  • 1
  • 1
Nicolas B.
  • 7,245
  • 17
  • 29
2

I just ran into this problem myself. My solution since my code and platform being developed is currently only using Java 7, and cannot use Java 8, I decided to launch the previous release/tag (5.5) with:

See tags here: Tags for sonarqube at hub.docker.com

docker run -d --name sonarqube -p 9000:9000 -p 9092:9092 sonarqube:5.5

Ed Bragg
  • 108
  • 1
  • 4
  • IMO, this is inadvisable. It is better to use a recent version of SonarQube and run it on a recent version of Java; e.g. Java 11. It is easy to configure SonarQube to analyze code that is built for an older JDK version. See https://docs.sonarqube.org/latest/analysis/languages/java/#header-5 – Stephen C Aug 18 '22 at 01:12
1

You need at least JDK 1.8. Read more about major.minor version at: How to fix java.lang.UnsupportedClassVersionError: Unsupported major.minor version

Community
  • 1
  • 1
agabrys
  • 8,728
  • 3
  • 35
  • 73