Confused about sonarscanners requirements

Must-share information (formatted with Markdown):

  • which versions are you using (SonarQube, Scanner, Plugin, and any relevant extension)

Sonarqube 7.9.3 LTS / Developer edition

  • what are you trying to achieve

Decide, if it is safe to update to latest non LTS to get GitLab integration. We have thousand+ of builds that are currently using maven and Java 8.

  • what have you tried so far to achieve this

Read all documentation and googled for hours.

The issue is that during scan using 7.9.3 server, sonarscanner warns that 8.x requires Java 11. Sonarqubes webpages list Java 8 as supported for scanner. Which one is correct? Can maven plugin run with Java 8 or do we need to migrate all our builds before we can update Sonarqube?

I’d like to avoid database rollback, if scanners warning proves to be true

Welcome :slight_smile:

you’re right, this warning is a bit misleading.
see SonarQube 8.1 released

Gilbert

1 Like

Thank you :slightly_smiling_face: Wasn’t able to find this by searching for few hours :sweat_smile:

While I’d prefer LTS, I guess I’ll update to non LTS at this point. I don’t want wait until xmas for next LTS release and GitLab integrations :smiley:

It would make sense to update product documentation page for 8.x.x and mention, that warning in current LTS is incorrect. Considering that multiple vendors are providing Java 8 distributions with extended support, I can’t see java 8 going away any time soon.

Hi @skorhone

The warning means that at some point in the SonarQube 8.x series the Scanner will require Java 11+.

Our Java analyzer is based on the Eclipse Compiler frontend. Since Eclipse has announced that ECJ will require Java 11 starting September and we want to stay close to the latest ECJ version, the Scanner will effectively require Java 11+ in a future 8.x version of SonarQube.

Chris

@Chris Thank you. I assume that there will be a warning about breaking change once it’s implemented?

I guess we could do try something like adding packages that were removed from java to build classpath at system level. It probably will fix issues with most builds. Unfortunately Java 8 is still very much alive and kicking in enterprise world - cost of upgrade for just sake of getting static analysis is hard to justify