简体   繁体   English

运行SonarQube Scanner时,在Jenkins作业中找不到Java

[英]Java not found in Jenkins job when running SonarQube Scanner

I have Jenkins and Sonar running in separate Docker containers. 我让Jenkins和Sonar在单独的Docker容器中运行。 I want to run the Sonar analysis in a Jenkins job, so I installed the "SonarQube Scanner for Jenkins" plugin. 我想在Jenkins工作中运行Sonar分析,所以我安装了“SonarsQube Scanner for Jenkins”插件。

This is the job configuration: 这是工作配置: 在Jenkins中构建配置

I'm getting this error when I run the build: 运行构建时出现此错误:

[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

Java8 was installed by Jenkins when the job ran for the first time. 当作业第一次运行时,Jenkins安装了Java8。 If I log in to the Jenkins container and cd to that folder, it exists. 如果我登录到Jenkins容器并cd到该文件夹​​,它就存在。

I was able to fix it by manually changing the path where SonarQube is trying to execute Java. 我能够通过手动更改SonarQube尝试执行Java的路径来修复它。

In /var/jenkins_home/tools/hudson.plugins.sonar.SonarRunnerInstallation/my_SonarScanner/bin/sonar-scanner , I removed these lines: /var/jenkins_home/tools/hudson.plugins.sonar.SonarRunnerInstallation/my_SonarScanner/bin/sonar-scanner中 ,我删除了这些行:

if [ -n "$JAVA_HOME" ]                                         
then                                          
  java_cmd="$JAVA_HOME/bin/java"                                                 
else                         
  java_cmd="$(which java)"                             
fi

And fixed the variable to point to the $JAVA_HOME configured on that container. 并修复该变量以指向该容器上配置的$ JAVA_HOME。

java_cmd=/usr/lib/jvm/java-1.8-openjdk/bin/java

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 是否可以在不运行扫描仪的情况下运行SonarQube Java Analyzer? 如何? - Can I run the SonarQube Java Analyzer without running the scanner? And how? 未找到 Sonarqube 服务器 (Jenkins) - Sonarqube Server not Found (Jenkins) 使用Scanner时出现Java错误,“找不到适合扫描仪的构造函数” - Java Error when using Scanner, “no suitable constructor found for Scanner” 无法从 Jenkins 工作中调用 SonarQube - Can't call SonarQube from Jenkins job 运行 cron 作业时找不到 Hybris 实体 - Hybris entity not found when running cron job 启用自定义规则后,SonarQube Scanner在Jenkins上失败 - SonarQube Scanner failed on Jenkins after custom rules are enabled 作为服务运行并从CLI运行时,Jenkins作业列表发生更改 - Jenkins job list changes when running as a service and from CLI 运行“sonar-scanner”命令时SonarQube扫描仪错误 - SonarQube Scanner error when run "sonar-scanner" command 在 Jenkins 1.620 SonarQube 5.1.1 中运行声纳分析时,SVN 身份验证失败 - SVN authentication failure when running a Sonar analysis in Jenkins 1.620 SonarQube 5.1.1 在运行 SonarQube 和扫描仪时,我得到“内存不足,JRE 无法继续” - On running SonarQube and scanner I get "insufficient memory for JRE to continue"
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM