IDEA配置SonarQube本地代码扫描

一、安装配置SonarQube Scanner

1. 解压SonarQube Scanner

  • 解压 sonar-scanner-cli-3.1.0.1141-windows.zip 到指定目录,例如 D:\sonar-scanner-cli-3.1.0.1141-windows

2. 配置环境变量

  • 右键点击“我的电脑”或“此电脑”,选择“属性”。

  • 点击“高级系统设置”,然后选择“环境变量”。

  • 在“系统变量”中找到 Path,点击“编辑”。

  • Path 的末尾添加 SonarQube Scanner 的 bin 目录路径,例如:

    D:\sonar-scanner-cli-3.1.0.1141-windows\sonar-scanner-3.1.0.1141-windows\bin;
    

    如果路径末尾没有分号,请先添加分号。

3. 配置sonar-scanner.properties

  • 进入解压后的 SonarQube Scanner 目录,找到 conf 文件夹。

    D:\sonar-scanner-cli-3.1.0.1141-windows\sonar-scanner-3.1.0.1141-windows\conf
    
  • 打开 sonar-scanner.properties 文件进行编辑,修改以下配置项:

    # 设置为您的 SonarQube 服务器的 URL。
    sonar.host.url=http://10.222.88.220:9000
    
    # 源代码的默认编码格式
    sonar.sourceEncoding=UTF-8
    
    # SonarQube 使用的数据库连接 URL(如果 SonarQube 使用外部数据库)
    sonar.jdbc.url=jdbc:mysql://10.222.155.88:3306/sonar?useUnicode=true&characterEncoding=UTF-8
    
    # SonarQube 数据库的用户名和密码
    sonar.jdbc.username=s
    sonar.jdbc.password=s
    
    # 用于连接 SonarQube 服务器的认证令牌(Token)
    sonar.login=dblfe7aaa
    

    也可以直接用其他开发人员配置完整的文件

    在命令行中运行以下命令,确保 Scanner 安装正确:

    sonar-scanner -v
    

4. 配置sonar-project.properties文件

  • 在项目的根目录下创建一个 sonar-project.properties 文件,并添加以下内容:

    # 项目的唯一标识符,用于在 SonarQube 服务器上区分不同项目。
    sonar.projectKey=my_spring_boot_project
    # 项目的显示名称,会在 SonarQube 界面上显示。
    sonar.projectName=My Spring Boot Project
    
    # 项目的版本号,用于区分不同版本的项目,这个需要与基线号一致
    sonar.projectVersion=1.0
    
    # 设置为 Spring Boot 项目的源代码路径,通常是 src/main/java。
    sonar.sources=src/main/java
    sonar.tests=src/test/java
    
    # 设置为 Spring Boot 项目编译后的类文件路径,通常是 target/classes。
    sonar.java.binaries=target/classes
    sonar.java.test.binaries=target/test-classes
    
    # 指定源代码的编码格式。
    sonar.sourceEncoding=UTF-8
    
    # 设置为 JUnit 测试报告的路径,通常是 target/surefire-reports。
    sonar.junit.reportPaths=target/surefire-reports
    sonar.jacoco.reportPaths=target/jacoco.exec
    sonar.coverage.jacoco.xmlReportPaths=target/site/jacoco/jacoco.xml
    
    # 指定需要排除的文件或目录,不进行扫描。
    sonar.exclusions=**/generated/**/*.java, **/test/**/*.java
    sonar.test.exclusions=**/integration/**/*.java
    

5.配置项目pom.xml文件

如果使用 JaCoCo 生成测试覆盖率报告,确保在 pom.xml 中配置了 JaCoCo 插件:

<plugin>
    <groupId>org.jacoco</groupId>
    <artifactId>jacoco-maven-plugin</artifactId>
    <version>0.8.7</version>
    <executions>
        <execution>
            <goals>
                <goal>prepare-agent</goal>
            </goals>
        </execution>
        <execution>
            <id>report</id>
            <phase>test</phase>
            <goals>
                <goal>report</goal>
            </goals>
        </execution>
    </executions>
</plugin>

二、执行sonar扫描

1、执行扫描

  • 使用 Maven 执行扫描

    • 在项目根目录下运行以下命令:

      mvn clean verify sonar:sonar
      
    • 如果需要指定 SonarQube 服务器和认证令牌,可以添加参数:

      mvn clean verify sonar:sonar -Dsonar.host.url=http://localhost:9000 -Dsonar.login=your_token_here
      
  • 使用 SonarQube Scanner 执行扫描

    • 在项目根目录下运行以下命令:

      sonar-scanner
      

2、查看扫描结果

打开浏览器,访问 SonarQube 服务器的地址(例如 http://localhost:9000)。

使用生成的令牌登录,查看项目的代码质量、测试覆盖率等指标。

posted @   xyztank  阅读(39)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示