You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用GitHub Actions执行Java仓库SonarQube扫描失败求助

Java项目GitHub Actions SonarQube扫描失败解决方案

问题核心

你碰到的报错本质是:SonarQube扫描Java项目时,必须读取编译后的.class二进制文件才能完成代码分析;要么就得明确排除Java文件(但会丢失Java代码的质量检测结果)。

解决方案一:修改现有Windows扫描Action配置

基于你当前使用的jimseiwert/sonarqube-scanner-windowsAction,只需补充编译步骤和指定编译输出路径即可:

- name: 编译Java项目(Maven)
  if: ${{ inputs.runsonar =='true' }}
  run: mvn clean compile -DskipTests

- name: SonarQube Scanner-Windows
  if: ${{ inputs.runsonar =='true' }}
  uses: jimseiwert/sonarqube-scanner-windows@v1.0
  with:
    host-url: http://sonar-rm.mybank.com:9000/
    token: ${{ secrets.SONAR_TOKEN }}
    project-key: 'MY_WEB'
    project-name: ${{ inputs.repo }}
    # 指定Maven默认的编译输出路径,Gradle项目可改为build/classes/java/main
    extra-args: '-Dsonar.java.binaries=target/classes'

解决方案二:用Maven原生SonarQube扫描(推荐)

既然你支持Maven,直接用Maven的Sonar插件更省心,无需额外扫描器Action,插件会自动处理编译与扫描的依赖:

- name: Maven SonarQube扫描
  if: ${{ inputs.runsonar =='true' }}
  run: |
    mvn sonar:sonar \
      -Dsonar.host.url=http://sonar-rm.mybank.com:9000/ \
      -Dsonar.login=${{ secrets.SONAR_TOKEN }} \
      -Dsonar.projectKey=MY_WEB \
      -Dsonar.projectName=${{ inputs.repo }}

自托管Runner扫描方案(无合适市场Action时用)

如果市场Action不符合需求,在自托管Windows Runner上手动部署扫描:

  1. 在Runner机器上下载解压SonarScanner for Windows,路径比如D:\sonar-scanner
  2. 将D:\sonar-scanner\bin添加到系统环境变量PATH
  3. GitHub Actions配置如下:
- name: 编译Java项目
  if: ${{ inputs.runsonar =='true' }}
  run: mvn clean compile -DskipTests

- name: 执行SonarQube扫描
  if: ${{ inputs.runsonar =='true' }}
  run: |
    sonar-scanner.bat \
      -Dsonar.host.url=http://sonar-rm.mybank.com:9000/ \
      -Dsonar.login=${{ secrets.SONAR_TOKEN }} \
      -Dsonar.projectKey=MY_WEB \
      -Dsonar.projectName=${{ inputs.repo }} \
      -Dsonar.java.binaries=target/classes

扫描报告查看位置

不管用哪种方案,扫描完成后直接访问你的SonarQube服务器地址http://sonar-rm.mybank.com:9000/,登录后在项目列表找到MY_WEB项目,点击进入就能查看完整的代码质量报告,涵盖漏洞、代码异味、覆盖率等信息。

内容的提问来源于stack exchange,提问作者Ashar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 12:22:55