22
votes

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

4

4 Answers

26
votes

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).

2
votes

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

1
votes

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

0
votes

To further extend agabrys' and Nicolas B's answers:

You need to go to oracle's website and download an jdk of version 8.

And configure jenkins' config.xml, which normally located in /var/lib/jenkins and add an jdk:

<jdk>
  <name>jdk1.8</name>
  <home>/usr/java/jdk1.8.0_144</home>
  <properties/>
</jdk>

in the section. Or you can add it in the jenkins web site at manage jenkins -> global tool configuration.