新闻详情

新闻详情

首页 / 资讯中心 / 详情

给Sonar-Scanner加装阿里的P3C编码规则

发布时间:2026/9/1 6:18:01来源:尧图网络
给Sonar-Scanner加装阿里的P3C编码规则
1. 下载插件以下是插件的 jar 包直链链接这个插件发布于 2023 年 9 月与 9.9 LTS 同期理论上兼容 9.9.8。但因为是社区第三方插件安装后务必查看容器日志确认无加载异常2. 安装插件到容器下载好 jar 包之后使用 docker 命令将它安装到自己的容器当中首先启动自己的 Docker Desktop把 jar 文件放在自己需要安装该插件的 sonar-scanner 项目路径下执行下列命令dockercpD:\B-WorkSpace\sonar-pmd-plugin-1.0.0.jarsonarqube:/opt/sonarqube/extensions/plugins/ docker restart sonarqube运行上述命令之后看返回是否有successfully copied。之后再运行docker logs sonarqube 21|Select-StringDeploy查看插件对应的部署日志当日志中出现Deploy PMD的时候就代表插件加载成功了。如果加载失败会在这附近出现Plugin is not compatible或ClassNotFoundException。3. 在控制台激活对应规则由于 SonarQube 默认是未激活状态接下来前往控制页面账号使用默认的admin找到「代码规则」搜索是否存在 p3c 规则。由于 SonarQube 的质量规则是默认的、只读配置所以要修改规则接入 p3c 之前还需要创建自己的自定义规则找到「质量配置」点击右上角的「创建」接下来选择语言为 Java继承 Sonar Way 的默认规则起名随意接下来点击「项目」将 product 项目添加进来。然后回到「代码规则」页面搜索 p3c点击「批量修改」选择「激活」接下来点击「应用到当前配置」当中。4. 针对容器的操作由于我们之前只是初步跑通了一遍容器要想容器能够持久地、稳定地跑在 Docker 环境中还需要在 Docker 当中添加对应的数据卷。4.1 停止容器保护数据不损坏docker stop sonarqube4.2 创建命名数据卷docker volume create sonarqube_data4.3 补建 extensions 卷logs 不持久化自动重建忽略docker volume create sonarqube_extensions本卷用于存储插件的 jar 包。4.4 从旧容器把数据拷到宿主机docker cp 能读已停止的容器先创建备份目录New-Item-ItemType Directory-Force-Path D:\B-WorkSpace\sonar-bak dockercpsonarqube:/opt/sonarqube/dataD:\B-WorkSpace\sonar-bak\datadockercpsonarqube:/opt/sonarqube/extensions D:\B-WorkSpace\sonar-bak\extensions4.5 删除旧容器dockerrmsonarqube4.6 用卷创建新容器docker create--name sonarqube-p 9000:9000 -v sonarqube_data:/opt/sonarqube/data-v sonarqube_extensions:/opt/sonarqube/extensions --restartunless-stopped sonarqube:lts-community参数含义/opt/sonarqube容器的安装目录/xxxx安装目录下的 xxx 目录--restartunless-stopped崩溃自动重启指令sonarqube:lts-community容器对应的镜像名称想要查找对应的镜像名称前往官网https://hub.docker.com/_/sonarqube这里是方便对照的表格标签含义lts-community长期支持版 社区版免费community最新社区版免费lts长期支持版 开发者版收费latest最新版本不推荐版本会变developer / enterprise商业版收费4.7 把数据拷入新容器dockercpD:\B-WorkSpace\sonar-bak\data\.sonarqube:/opt/sonarqube/data/dockercpD:\B-WorkSpace\sonar-bak\extensions\.sonarqube:/opt/sonarqube/extensions/这里推荐使用绝对路径防止出现找不到数据的问题4.8 重新启动如果启动后容器反复重启通常是数据卷的文件归属owner不对导致的。SonarQube 容器默认以1000:1000用户运行而新创建的数据卷默认归属 root权限不匹配就会触发崩溃重启。可以按下面的步骤修复# 1. 停止反复重启的容器docker stop sonarqube# 2. # 修复 data 卷以 root 身份运行docker run--rm--user 0-v sonarqube_data:/opt/sonarqube/data--entrypoint chown sonarqube:lts-community-R 1000:1000/opt/sonarqube/data# 3. 修复 extensions 卷以 root 身份运行docker run--rm--user 0-v sonarqube_extensions:/opt/sonarqube/extensions--entrypoint chown sonarqube:lts-community-R 1000:1000/opt/sonarqube/extensions# 4. 启动dockerstartsonarqube# 5. 看日志等 SonarQube is updocker logs-f sonarqube说明--entrypoint chown表示临时用chown作为容器入口-R 1000:1000递归地把卷内所有文件的归属改为 SonarQube 运行用户改完再正常启动即可。dockerstartsonarqube5. 验证数据卷是否生效之后如果出现问题可以先用下面的指令验证数据卷确实在工作。5.1 查看数据卷列表docker volumels应该看到sonarqube_data。5.2 查看容器挂载信息docker inspect sonarqube--format{{json .Mounts}}应该看到Typevolume, Sourcesonarqube_data的挂载点。部分含义docker inspectDocker 自带的查看容器/镜像详细元数据的命令输出 JSON 格式的完整配置信息sonarqube要查看的容器名也可以写容器 ID 的前几位比如docker inspect a1b2c3--format ...用 Go 模板语法只提取特定字段而不是把整个 JSON 堆给你类似 SQL 的SELECT 字段 FROM{{json .Mounts}}Go 模板语法Mounts是容器配置里的「挂载点数组」字段json是把该字段格式化成 JSON 输出
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

MKVToolNix:无损封装与解封装,高效处理视频合并、字幕封装与m3u8切片拼接 2026/9/1 7:06:08

MKVToolNix:无损封装与解封装,高效处理视频合并、字幕封装与m3u8切片拼接

你有没有遇到过这样的场景:辛辛苦苦从网上下载了一部高清电影,结果发现是几十个零散的.m3u8切片文件,播放器根本不认;或者,手头有几个不同来源的视频和音轨,想合成一个文件,用专业软件太复杂&am…

阅读更多 →
并联二极管短路故障排查:从万用表粗测到热像仪定位的完整指南 2026/9/1 7:06:08

并联二极管短路故障排查:从万用表粗测到热像仪定位的完整指南

多个并联二极管中出现一只短路二极管,外表经常看不出来,但电路一上电就烧保险、报过流或输出电压异常。这类故障在开关电源、变频器整流桥、充电桩电源、电镀电源里都很常见。麻烦点在于并联组的公共端连在一起,直接用万用表测整个并联组&…

阅读更多 →
自制0-60V/6A可调开关电源:半桥+TL494+Buck全解析 2026/9/1 7:03:07

自制0-60V/6A可调开关电源:半桥+TL494+Buck全解析

简介:本资源是一套基于明纬品牌技术路线设计的0-60V/6A大功率可调开关电源完整硬件设计资料,面向电子工程师、高校电类专业学生及资深电子爱好者,解决高精度可调电源电路设计、PCB布局与模块化调试等实际开发难题。压缩包含16个文件&#xff…

阅读更多 →
Halcon与OpenCV缺陷检测实战:从解压到部署完整指南 2026/9/1 7:03:07

Halcon与OpenCV缺陷检测实战:从解压到部署完整指南

简介:面向工业视觉与机器视觉开发者,一份围绕Halcon与OpenCV在缺陷检测中融合应用的资料包,适合有一定视觉基础、希望搭建可落地检测方案的工程师学习参考。内容涵盖Halcon形状匹配、模板匹配、灰度值比较,以及OpenCV图像预处理、…

阅读更多 →
2024百度数据岗面试真题解析:从SQL到业务指标全链路考点 2026/9/1 7:03:07

2024百度数据岗面试真题解析:从SQL到业务指标全链路考点

百度数据岗面试,考察的从来不只是刷题。我在准备2024年百度数据相关岗位面试时,最深的感受是:百度非常看重候选人对数据全链路的理解,从底层存储、计算引擎到上层业务指标异动归因,任何一个环节脱节都会被追问到无话可…

阅读更多 →
企业级RAG知识库全链路解析:从架构原理到工程化落地 2026/9/1 7:03:07

企业级RAG知识库全链路解析:从架构原理到工程化落地

当前笔记围绕企业级 RAG(检索增强生成)知识库展开,从架构原理到检索、召回、重排、生成与工程化落地完整走一遍。适合正在做大模型应用、知识库问答、私有化部署的开发者参考,也适合想系统理解 RAG 全链路的新手。 1. RAG 是什么…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞