Clarification "skipJREProvisioning=false"

Must-share information (formatted with Markdown):

  • which versions are you using (SonarQube Server / Community Build, Scanner, Plugin, and any relevant extension)
    Developer Edition 2025.3
  • how is SonarQube deployed: self hosted
  • what are you trying to achieve
    using the parameter skipJREProvisioning

Hello,

I’m not sure if I understand the paramater “skipJREProvisioning=false” correctly.

I am using an Ubuntu:24.04 Docker image (with sonar-scanner-cli-7.0.2.4839), without a Java installation and JAVA_HOME is not set and I want the scanner to download the appropriate JRE version.

Unfortunately, this does not happen and it shows me “Could not find ‘java’ executable in JAVA_HOME or PATH”.

With the Docker image “eclipse-temurin:17-jdk-alpine” the analysis runs perfectly, but I would like the scanner to pull the appropriate Java version.

What am I doing wrong?

Greetings and thx
Mark

Hi,

You’re using the wrong SonarScanner zip file. You’ll need download the “Linux x64” (or “Linux AArch64” for ARM architecture) which includes a JRE from SonarScanner CLI | SonarQube Server Documentation instead of the “Any (Requires a pre-installed JVM)”.

So, the SonarScanner needs a JRE to get started, and then it gets another one from the SonarQube Server for the analysis.

Hi @Scott,

thank you for your quick reply and that makes sense. :slight_smile:

Regarding your answer “and then it fetches another one from the SonarQube server for analysis”. What does it depend on which version it takes? On the sonar.java.source parameter?

Can you please describe this in more detail?

Thanks,
Mark