fix: set SONAR_SCANNER_JAVA_HOME for sonar-scanner 6.x
All checks were successful
CI / cleanup-branch (push) Has been skipped
CI / build (push) Successful in 1m42s
CI / docker (push) Successful in 15s
CI / deploy-feature (push) Has been skipped
CI / deploy (push) Successful in 48s

sonar-scanner 6.x checks SONAR_SCANNER_JAVA_HOME, not JAVA_HOME.
Despite JAVA_HOME being correct and java being on PATH, the scanner
uses its own env var for Java discovery.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
hsiegeln
2026-04-04 11:04:03 +02:00
parent 7dca8f2609
commit 5ae94e1e2c

View File

@@ -72,14 +72,13 @@ jobs:
- name: SonarQube Analysis - name: SonarQube Analysis
run: | run: |
# Derive JAVA_HOME from jar binary (java may not be on PATH directly) # sonar-scanner 6.x uses SONAR_SCANNER_JAVA_HOME (not JAVA_HOME)
if [ -z "$JAVA_HOME" ]; then if [ -z "$JAVA_HOME" ]; then
JAR_PATH=$(readlink -f $(which jar) 2>/dev/null || find / -name jar -type f 2>/dev/null | head -1) JAR_PATH=$(readlink -f $(which jar) 2>/dev/null || find / -name jar -type f 2>/dev/null | head -1)
export JAVA_HOME=$(dirname $(dirname "$JAR_PATH")) export JAVA_HOME=$(dirname $(dirname "$JAR_PATH"))
fi fi
export SONAR_SCANNER_JAVA_HOME="$JAVA_HOME"
export PATH="$JAVA_HOME/bin:$PATH" export PATH="$JAVA_HOME/bin:$PATH"
echo "JAVA_HOME=$JAVA_HOME"
java -version
sonar-scanner \ sonar-scanner \
-Dsonar.host.url="$SONAR_HOST_URL" \ -Dsonar.host.url="$SONAR_HOST_URL" \
-Dsonar.token="$SONAR_TOKEN" \ -Dsonar.token="$SONAR_TOKEN" \