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
)。
使用生成的令牌登录,查看项目的代码质量、测试覆盖率等指标。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律