关于SonarQube
SonarQube 使用教程从创建项目到 Maven 扫描并导出代码检测报告一、SonarQube 简介SonarQube 是一个开源的代码质量管理平台可以对代码进行静态分析帮助开发团队发现Bug代码缺陷Vulnerability安全漏洞Code Smell代码坏味道重复代码代码覆盖率问题代码规范问题目前 SonarQube 支持多种开发语言JavaJavaScriptTypeScriptPythonC#GoPHP 等在 Java 项目中通常通过Maven 插件 SonarQube Server实现自动化代码扫描。本文主要介绍Spring Boot / Maven 项目如何接入 SonarQube并生成代码质量检测报告。二、环境准备1. 环境要求本文使用环境软件版本JDK17Maven3.9.xSonarQube10.xMySQL8.xSpring Boot3.x确保本地已经安装java-versionmvn-version示例javaversion17.0.12Apache Maven3.9.9三、安装 SonarQube1. Docker 安装方式推荐使用 Docker 快速部署。创建网络dockernetwork create sonar-net启动 PostgreSQLdockerrun-d\--namesonar-db\--networksonar-net\-ePOSTGRES_USERsonar\-ePOSTGRES_PASSWORDsonar\-ePOSTGRES_DBsonar\postgres:15启动 SonarQubedockerrun-d\--namesonarqube\--networksonar-net\-p9000:9000\-eSONAR_JDBC_URLjdbc:postgresql://sonar-db:5432/sonar\-eSONAR_JDBC_USERNAMEsonar\-eSONAR_JDBC_PASSWORDsonar\sonarqube:community启动成功后访问http://localhost:9000默认账号用户名admin 密码admin首次登录需要修改密码。四、创建 SonarQube 项目登录 SonarQube 后进入Projects ↓ Create Project选择Create a local project填写项目信息例如Project display name: ruoyi-demo Project key: ruoyi-demo点击Set Up选择LocallySonarQube 会生成一个 Token。例如sonar-token: xxxxxxxxxxxxxxxxxxxx这个 Token 后面 Maven 扫描需要使用。注意Token 只显示一次请保存。五、Maven 项目接入 SonarQube1. 添加 Maven 插件修改项目pom.xml增加propertiessonar.projectKeyruoyi-demo/sonar.projectKeysonar.host.urlhttp://localhost:9000/sonar.host.url/propertiesbuildpluginsplugingroupIdorg.sonarsource.scanner.maven/groupIdartifactIdsonar-maven-plugin/artifactIdversion3.11.0.3922/version/plugin/plugins/build其中参数说明sonar.projectKeySonarQube项目Keysonar.host.urlSonarQube地址六、执行 Maven 扫描进入项目目录例如cdD:\workspace\ruoyi-demo执行mvn clean verify sonar:sonar\-Dsonar.token你的TokenWindows 下mvn clean verify sonar:sonar ^-Dsonar.token你的Token执行过程[INFO] BUILD SUCCESS [INFO] ANALYSIS SUCCESSFUL说明代码扫描成功。七、查看 SonarQube 检测结果打开http://localhost:9000进入Projects ↓ ruoyi-demo可以看到1. Bugs代码 Bug 数量例如0 Bugs2. Vulnerabilities安全漏洞例如0 Vulnerabilities3. Code Smells代码质量问题例如25 Code Smells常见问题方法过长参数过多重复代码命名不规范4. Duplications重复代码例如3.2%5. Quality Gate质量门禁例如Passed如果失败Failed需要根据提示修改代码。八、生成 SonarQube 检测报告SonarQube 默认提供 Web 页面查看。但是很多企业需要导出报告。常用方式方式一使用 SonarQube PDF 插件安装插件sonar-pdf-report-plugin安装完成后重启 SonarQube。进入项目Project ↓ More ↓ Generate PDF Report即可生成sonar-report.pdf方式二使用 sonar-scanner-report安装npminstall-gsonar-report执行sonar-report\-uadmin\-padmin\-thttp://localhost:9000\-oreport.html生成report.html浏览器打开即可。方式三通过 SonarQube API 获取数据SonarQube 提供 REST API。查看项目指标GET /api/measures/component示例http://localhost:9000/api/measures/component? componentruoyi-demo metricKeysbugs,vulnerabilities,code_smells返回{component:{measures:[{metric:bugs,value:0},{metric:code_smells,value:25}]}}可以基于 API 自己生成Excel报告Word报告PDF报告九、常见问题1. Maven 扫描失败错误Not authorized原因Token错误。解决重新生成 TokenMy Account ↓ Security ↓ Generate Tokens2. 找不到项目错误Project doesnt exist检查sonar.projectKey是否和 SonarQube 创建项目一致。3. Java版本问题错误Unsupported class file major version原因JDK版本不匹配。检查java-versionSonarQube 10.x 推荐JDK17十、结合 CI/CD 自动扫描实际项目中通常会接入JenkinsGitLab CIGitHub ActionsAzure DevOps例如 Jenkins代码提交↓自动构建↓Maven Test↓SonarQube扫描↓生成质量报告实现代码质量自动检查。十一、总结本文完整介绍了 SonarQube 在 Maven 项目中的使用流程安装 SonarQube创建项目获取 TokenMaven 集成 SonarQube执行代码扫描查看检测结果导出代码质量报告通过 SonarQube可以在开发阶段提前发现代码问题提高项目代码质量。

相关新闻

深入解析AssetRipper:Unity资源逆向工程的核心架构与实战应用

深入解析AssetRipper:Unity资源逆向工程的核心架构与实战应用

1. 项目概述:为什么我们需要深入理解AssetRipper如果你在Unity开发或者逆向分析领域待过一段时间,大概率听说过AssetRipper这个名字。它不是一个官方工具,但在社区里,尤其是在处理那些“只有编译后文件”的Unity项目时&#xff0c…

2026/7/29 12:15:44 阅读更多 →
影刀RPA 科研基金申请:资助机会自动检索与匹配

影刀RPA 科研基金申请:资助机会自动检索与匹配

影刀RPA 科研基金申请:资助机会自动检索与匹配 作者:林焱 | 分类:影刀RPA新手教程 | 难度:★★ 什么情况用 高校科研人员、企业研发团队需要持续关注各类科研基金申请机会:国家自然科学基金(NSFC&#xff0…

2026/7/27 2:55:09 阅读更多 →
从CTF逆向实战到RC4算法复现:IDA与x64dbg动态调试剖析

从CTF逆向实战到RC4算法复现:IDA与x64dbg动态调试剖析

1. 项目概述:从一道CTF题到RC4加密的深度剖析最近在复盘一场CTF比赛的逆向工程题目时,遇到了一个名为crypt.exe的小程序。题目本身不算复杂,但其中对RC4流加密算法的应用,以及如何从二进制可执行文件中剥离出加密逻辑并用Python复…

2026/7/29 3:20:41 阅读更多 →

最新新闻

量子隐形传态原理与实践:从量子纠缠到安全通信的实现

量子隐形传态原理与实践:从量子纠缠到安全通信的实现

如果你最近关注过量子计算或科幻科技新闻,可能已经看到了一些关于"瞬移"技术突破的报道。但先别急着想象《星际迷航》中的传送装置——我们今天要讨论的是一种更接近现实的技术:量子隐形传态(Quantum Teleportation)。这…

2026/7/30 9:52:56 阅读更多 →
C# 与 .NET 跨平台开发实战(第一章:开发环境搭建与.NET概述-上篇)

C# 与 .NET 跨平台开发实战(第一章:开发环境搭建与.NET概述-上篇)

C# 与 .NET 跨平台开发实战(第一章:开发环境搭建与.NET概述-上篇) 引言在当今多平台并行的软件开发世界,跨平台开发已成为刚需。C# 与 .NET 自 2016 年 .NET Core 发布以来,已从仅限 Windows 的封闭生态,进…

2026/7/30 9:52:56 阅读更多 →
数字人才行动方案视角:平面设计线上机构怎么选才更接近就业

数字人才行动方案视角:平面设计线上机构怎么选才更接近就业

线上学设计常见问答(FAQ)Q:数字人才政策与平面设计学习有什么关系?数字化转型使企业内容、品牌和营销进入多平台环境,平面设计虽不是单一数字技术岗位,却需要与数字工具、内容运营和商业传播协同&#xff0…

2026/7/30 9:52:56 阅读更多 →
2026年HRSaaS行业AI技术应用与选型指南

2026年HRSaaS行业AI技术应用与选型指南

1. 2026年HRSaaS行业格局前瞻:AI如何重塑HR管理 2026年的HRSaaS市场已经进入深度整合期,AI能力成为区分头部玩家与跟随者的关键分水岭。作为一名在HR科技领域深耕8年的从业者,我亲眼目睹了从基础人事管理到智能决策支持的转变过程。如今的系统…

2026/7/30 9:52:56 阅读更多 →
Java类设计核心关键字解析与最佳实践

Java类设计核心关键字解析与最佳实践

1. Java类设计中的核心关键字解析 在Java开发中,类作为面向对象编程的基本单元,其设计质量直接影响代码的可维护性和扩展性。作为从业十余年的Java开发者,我见过太多因为关键字使用不当导致的"假娃"问题——表面运行正常但埋着深坑…

2026/7/30 9:52:56 阅读更多 →
如何高效配置专业级音频处理工具:Equalizer APO完整实战指南

如何高效配置专业级音频处理工具:Equalizer APO完整实战指南

如何高效配置专业级音频处理工具:Equalizer APO完整实战指南 【免费下载链接】equalizerapo Equalizer APO mirror 项目地址: https://gitcode.com/gh_mirrors/eq/equalizerapo Equalizer APO是一款基于Windows音频处理对象(APO)架构的…

2026/7/30 9:51:56 阅读更多 →

日新闻

Windows驱动存储终极清理工具:DriverStoreExplorer完全指南

Windows驱动存储终极清理工具:DriverStoreExplorer完全指南

Windows驱动存储终极清理工具:DriverStoreExplorer完全指南 【免费下载链接】DriverStoreExplorer Driver Store Explorer 项目地址: https://gitcode.com/gh_mirrors/dr/DriverStoreExplorer 您是否曾因Windows系统盘空间不足而烦恼?是否遇到过设…

2026/7/30 0:00:13 阅读更多 →
如何3步掌握Video Download Helper:网页视频下载的完整实战指南

如何3步掌握Video Download Helper:网页视频下载的完整实战指南

如何3步掌握Video Download Helper:网页视频下载的完整实战指南 【免费下载链接】VideoDownloadHelper Chrome Extension to Help Download Video for Some Video Sites. 项目地址: https://gitcode.com/gh_mirrors/vi/VideoDownloadHelper 你是否曾经在浏览…

2026/7/30 0:00:13 阅读更多 →
“双减”后首个AI备课压力测试报告:覆盖32所中小学的176节AI辅助课,暴露4大隐性增负节点

“双减”后首个AI备课压力测试报告:覆盖32所中小学的176节AI辅助课,暴露4大隐性增负节点

更多请点击: https://intelliparadigm.com 第一章:AI 教师备课辅助 AI 教师备课辅助系统正逐步成为教育数字化转型的核心支撑工具,它并非替代教师,而是通过语义理解、知识图谱与多模态生成能力,将教师从重复性劳动中解…

2026/7/30 0:00:13 阅读更多 →

周新闻

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 数据集6000张 完整源码已标注数据集训练好的模型环境配置教程程序运行说明文档,可以直接使用!系统支持图片、视频、摄像头等多种方式检测裂缝,功能强大实用。 1数据集6000张 8各类别

2026/7/29 22:18:20 阅读更多 →
深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

pubg数据集 精选原图1.42万数据 1.49万标签 无任何重复、算法增强或冗余图像! pubg绝地求生目标检测数据集 1分类:e_body,14905个标签,txt格式 共计14244张图,99%为640*640尺寸图像 适合yolo目标检测、AI训练关键词&am…

2026/7/29 14:34:28 阅读更多 →
Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex检测数据集数据集详情检测类别: allies enemy tag图片总量:7247张训练集:5139张验证集:1425张测试集:683张标注状态:全部已标注,即拿即用数据格式:支持YOLO格式及其他格式&#…

2026/7/29 15:00:03 阅读更多 →

月新闻