Jenkins Sonaqube插件:JAVA_HOME存在,但未指向有效的JAVA HOME

Jenkins Sonaqube插件:JAVA_HOME存在,但未指向有效的JAVA HOME,jenkins,sonarqube,jenkins-plugins,java-home,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环境变量,我将其

我正在尝试为我的项目设置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:\ProgramFiles(x86)\JAVA\jdk1.8.0\u 111
我还使用powershell
JAVA-version
命令对其进行了双重检查。它也给了我同样的答案:
java版本“1.8.0_111”
。有人知道如何解决这个问题吗


谢谢。

确保JAVA_HOME指向JDK。

请尝试重新安装JAVA 8。再次设置JAVA_HOME,然后它将工作。 这个问题可能是因为“程序文件(x86)”之间的空格可以编辑

C:\Users\HOME\u FOLDER.jenkins\tools\hudson.plugins.sonar.sonarrunner安装\SonarQubeScanner\bin>notepad sonar-scanner.bat


SET JAVA_HOME=

我也遇到了同样的问题,并为此挣扎了一段时间。 在修改了一点sonar scanner.bat之后,我发现在Sonarqube的执行过程中,
%JAVA\u HOME%
与我在环境变量中配置的完全不同。 原来我在Jenkins的
全局工具配置
中硬编码了
JDK安装

我的解决方案:

  • 打开Jenkins,进入
    管理Jenkins
    ->
    全局工具配置
  • 单击JDK安装…
  • 确保
    JAVA\u HOME
    参数为空,或者只需单击
    Delete JDK

  • 在本例中,Jenkins将使用它在执行过程中找到的
    %JAVA\u HOME%
    变量,它只是您在环境变量中配置的变量。为我工作

    如果sonar-scanner中存在
    。bat失败,因为路径中有空格,所以解决方案是将JAVA\u HOME设置为不带空格的值,例如使用“程序文件”的短名称设置JAVA\u HOME=C:\Progra~1\JAVA\jre9

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

    @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
    

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

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

    成功了


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

    是否检查了java、exe是否存在?你检查过访问权限了吗?