Mac AArch64环境下SonarScanner CLI报错找不到java可执行文件
解决SonarScanner CLI找不到Java的问题
临时快速解决
执行命令时直接指定Java的绝对路径:
./sonar-scanner -h -Dsonar.java.jdkPath=/你的JAVA_HOME路径/bin/java
举个例子,如果你的JAVA_HOME是/Library/Java/JavaVirtualMachines/zulu-17.jdk/Contents/Home,命令就写成:
./sonar-scanner -h -Dsonar.java.jdkPath=/Library/Java/JavaVirtualMachines/zulu-17.jdk/Contents/Home/bin/java
永久修复(修改启动脚本)
- 打开SonarScanner安装目录下的
bin/sonar-scanner脚本文件 - 找到脚本里检查JAVA_HOME的代码段,默认脚本可能错误地在JAVA_HOME根目录找java可执行文件,你需要把路径改成
$JAVA_HOME/bin/java - 比如找到类似这样的代码:
修改为:if [ -x "$JAVA_HOME/java" ]; then JAVA_EXEC="$JAVA_HOME/java" fiif [ -x "$JAVA_HOME/bin/java" ]; then JAVA_EXEC="$JAVA_HOME/bin/java" fi - 保存修改后,重新执行
./sonar-scanner -h就能正常使用了
先做个验证(确保环境配置没问题)
在终端依次执行以下命令,确认输出正常:
java -version echo $JAVA_HOME echo $PATH | grep $JAVA_HOME/bin
如果这三个命令都能输出正确结果(java版本信息、正确的JAVA_HOME路径、PATH里包含JAVA_HOME/bin),那上面的方案肯定能解决问题。
内容的提问来源于stack exchange,提问作者user1689987
相关产品推荐
相关产品推荐

