使用 sonarqube google 计算实例安装声纳扫描仪时出现错误“无法在 JAVA_HOME 或 PATH 中找到‘java’可执行文件”

问题描述 投票:0回答:7

我一直在尝试配置 sonarqube 以使用云构建触发器,并希望使用 bitnami 的 sonarqube 计算实例安装,但是当我使用本指南安装 sonar-scanner 时:https://docs.sonarqube.org/latest/analysis/ scan/sonarscanner/ 运行时

sonar-scanner -h
我收到此错误 “在 JAVA_HOME 中找不到“java”可执行文件或 PATH" 我的 JAVA_HOME 是 opt/bitnami/java 并且 PATH 是 opt/bitnami/java/bin 帮助我解决我做错的事情或丢失的内容。

sonarqube google-compute-engine bitnami google-cloud-build sonarscanner
7个回答
10
投票

声纳扫描仪独立于您的JAVA_HOME,使用自己的JRE,这需要授权:

chmod 755 ...sonar-scanner-4.3.0.2102-linux/jre/bin/java

5
投票

我也有同样的错误:

Could not find 'java' executable in JAVA_HOME or PATH.

扫描仪使用自己的java bin 文件,您应该更改它。

  1. 打开解压后的声纳扫描仪所在的文件夹。

./jre/bin
目录。

例如,我的声纳扫描仪是

/opt/sonar-scanner/
,那么我的java文件夹是
/opt/sonar-scanner/jre/bin/

  1. 删除该

    java
    文件。

  2. 为原始java创建符号链接以从文件夹运行。

示例:

ln -s /usr/bin/java /opt/sonar-scanner/jre/bin/java

完成。


2
投票

Bitnami 开发者在这里,

以下命令在 GCE 实例上对我有用:

  • 下载 solr-scanner 4.2.0:

  • 解压到

    /opt

sudo unzip -d /opt sonar-scanner-cli-*.zip
  • 下载声纳扫描示例:

  • 将它们解压到

    $HOME/sonar-scanning-examples

unzip -d $HOME master.zip
cd /home/bitnami/sonar-scanning-examples-master/sonarqube-scanner
  • 分析一个项目,如下所示。将 PASSWORD 占位符替换为正确的密码。
/opt/sonar-scanner-*/bin/sonar-scanner -Dsonar.login=admin -Dsonar.password=PASSWORD

如果您遇到一些问题,请尝试在分析项目之前加载环境:

sudo /opt/bitnami/use_sonarqube

希望对你有帮助


1
投票

在 Mac 操作系统上遇到此问题。这个线程帮助解决了我的问题。

变量

$JAVA_HOME
应指向
java
的主目录,通过附加
bin
可以找到
bin
文件夹。

所以就我而言,路径中有额外的

bin


0
投票

在我的 macOS 上也有同样的问题当我尝试执行命令

sonar-scanner -h
然后我尝试了以下几种方法:

1.检查路径是否已包含在 bash_profile 中

步骤:

第1步:在macos上打开终端,然后编写以下命令来检查您是否已正确设置所有路径。

nano ~/.bash_profile

第 2 步:检查 bash_profile 文件中的所有路径(如果未添加),然后添加以下所有路径:

export SONAR_HOME=/path/to/your/sonarqube/sonarqube-version/bin/macosx-universal-64
export JAVA_HOME=/path/on/your/local/machine/where/java/installed
export PATH=$JAVA_HOME/bin:$PATH
export SONAR=$SONAR_HOME/bin
export PATH=$SONAR:$PATH
export PATH="/path/to/your/sonar-scanner/on/localmachine/sonar-scanner-4.8.0.2856-macosx/bin:$PATH"

第 3 步:然后在新终端中输入以下命令来检查 JAVA_HOME 路径

echo $JAVA_HOME 

如果没有打印任何内容,那么您需要检查本地计算机上的绝对路径是否正确 如果您已正确完成上述所有步骤,但仍然出现错误,那么您需要检查权限:

执行以下命令:

chmod +x /path/to/your/sonar-scanner/on/localmachine/sonar-scanner-version/bin/sonar-scanner

然后通过直接执行以下命令来检查是否仍然出现错误,通过直接使用绝对路径执行 sonar-scanner -h 命令:

/path/to/your/sonar-scanner/on/localmachine/sonar-scanner-4.8.0.2856-macosx/bin/sonar-scanner -h

如果上述命令成功运行,那么它也应该运行 sonar-scanner -h 命令,而不会给出“在 JAVA_HOME 或 PATH 中找不到‘java’可执行文件”错误 另请确保您已允许 java jdk 在本地计算机上运行 -> 转到系统偏好设置... > 安全和隐私,并且在“常规”选项卡下应该有一个按钮显示“无论如何打开”。

出现错误的另一个可能原因可能是您安装了多个jdk。如果是这种情况,请删除所有旧版本的 jdk。


0
投票

如果你想运行 bitnami 的 docker 镜像,你应该使用特权标志运行它。

docker run --privileged -i dockerimagename

我在 Centos7 上遇到了同样的问题,这就是我的解决方案。希望有帮助!


0
投票

如果您遇到此问题并且您使用的是带有苹果芯片的Mac(基于ARM的M系列),则可能与您安装的声纳扫描仪的版本有关。如果您手动设置触发作业,它将为您提供一个 zip 文件,其中包含声纳扫描仪。目前,他们提供的文件适用于 intel 处理器,并且相关目录中不包含 java 可执行文件(

jre/bin/java
)。

尝试从此处下载正确的版本并再次运行扫描仪。

© www.soinside.com 2019 - 2024. All rights reserved.