Jenkins Sonarqube插件:JAVA_HOME存在,但没有指向有效的Java主页

时间:2016-12-16 20:25:14

标签: jenkins sonarqube jenkins-plugins java-home

我正在尝试为我的项目设置Sonarqube,但是当我开始生成构建时,我收到以下错误:

ERROR: JAVA_HOME exists but does not point to a valid Java home
   folder. No "\bin\java.exe" file can be found there.

The SonarQube Scanner did not complete successfully

我检查了一些文档,但没有一个有用。对于JAVA_HOME环境变量,我将其指向C:\Program Files (x86)\Java\jdk1.8.0_111我还使用powershell java -version命令对其进行了双重检查。它也给了我相同的答案:java version "1.8.0_111"。任何人都知道如何解决这个问题?

感谢。

8 个答案:

答案 0 :(得分:1)

确保JAVA_HOME指向JDK。

答案 1 :(得分:1)

由于路径中存在空格,因此sonar-scanner.bat中的

if EXIST失败,因此解决方案是将JAVA_HOME设置为没有空格的值,例如使用“程序文件”的简称SET JAVA_HOME= C:\Progra~1\Java\jre9

答案 2 :(得分:0)

请尝试重新安装java 8.再次安装JAVA_HOME它会工作。 这个问题可能是因为" Program Files(x86)"

之间的空格

答案 3 :(得分:0)

您可以修改

C:\ Users \ HOME_FOLDER.jenkins \ tools \ hudson.plugins.sonar.SonarRunnerInstallation \ SonarQubeScanner \ bin> notepad sonar-scanner.bat

并放

SET JAVA_HOME =< JDK路径>

答案 4 :(得分:0)

我遇到了同样的问题,并为此苦了一段时间。 修改sonar-scanner.bat后,我发现在执行Sonarqube期间,%JAVA_HOME%与我在环境变量中配置的完全不同。 原来我在詹金斯的JDK installations中将Global Tool Configuration硬编码了。

我的解决方案:

  1. 打开您的Jenkins,转到Manage Jenkins-> Global Tool Configuration
  2. 点击JDK installations...
  3. 确保JAVA_HOME参数为空,或单击Delete JDK

在这种情况下,Jenkins将使用在执行过程中发现的%JAVA_HOME%变量,它只是您在环境变量中配置的变量。为我工作

答案 5 :(得分:0)

我遇到了同样的错误。问题在于sonar-scanner.bat引用了错误的%JAVA_HOME%路径。
在sonar-scanner.bat中,将变量“ use_embedded_jre”设置为true,并立即对PATH进行验证。

@REM ==== START VALIDATION ====
@REM *** JAVA EXEC VALIDATION ***

set use_embedded_jre=true
if "%use_embedded_jre%" == "true" (
  set "JAVA_HOME=%SONAR_SCANNER_HOME%\jre"
)

将变量值设置为“ false”,此问题将得到解决。

set use_embedded_jre=false

答案 6 :(得分:0)

您应该在Java安装后重新启动计算机。

答案 7 :(得分:0)

我遇到了同样的问题。在我的机器上,JRE位于C:\Program Files (x86)\Jenkins\jre。因此,我在系统的PATH环境变量后附加了C:\Program Files (x86)\Jenkins\jre\bin;

有效。

别忘了从Windows服务重新启动Jenkins服务