【发布时间】:2018-05-08 12:30:24
【问题描述】:
我让 Jenkins 和 Sonar 在不同的 Docker 容器中运行。我想在 Jenkins 作业中运行声纳分析,所以我安装了“SonarQube Scanner for Jenkins”插件。
我在运行构建时收到此错误:
[run-sonar] $ /var/jenkins_home/tools/hudson.plugins.sonar.SonarRunnerInstallation/my_SonarScanner/bin/sonar-scanner -e -Dsonar.host.url=http://localhost:9000 -Dsonar.projectBaseDir=/var/jenkins_home/workspace/run-sonar
/var/jenkins_home/tools/hudson.plugins.sonar.SonarRunnerInstallation/my_SonarScanner/bin/sonar-scanner: exec: line 73: /var/jenkins_home/tools/hudson.model.JDK/java8/bin/java: not found
ERROR: SonarQube scanner exited with non-zero code: 127
Finished: FAILURE
第一次运行作业时,Jenkins 安装了 Java8。如果我登录到 Jenkins 容器并 cd 到该文件夹,它就存在。
【问题讨论】:
-
用 Java 7、8 和 9 试过,都报同样的错误。
-
您使用哪个图像?你如何运行它?我刚刚检查了jenkins官方图片,你的java路径(/var/jenkins_home/tools/hudson.model.JDK/java8/bin/java)存在。
-
如果您在 cmd 或 shell 上运行声纳扫描仪,请确保在设置 JAVA_HOME 环境后请打开一个新终端,否则更改不会反映,如果您在 bin 中一直找不到 java \bash 错误。