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
You need at least JDK 1.8. Read more about
major.minor
version at: How to fix java.lang.UnsupportedClassVersionError: Unsupported major.minor versionSonarQube 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).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
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:in the section. Or you can add it in the jenkins web site at manage jenkins -> global tool configuration.