背景
搞了3个月代码扫描,刚刚搞定安全热点问题的筛选与确认,接下来准备搞java规约扫描的问题分析,但是看着扫出来动不动10K以上的那些项目,真是心塞,是规则太严格,还是误报?分析了几个rule发现真正开发很少有按标准的写法,这不行啊,那以后开发将是一件很痛苦的事,正好领导发了阿里的开发指南,正好把阿里的P3C给弄上扫描平台,只用扫这些规则即可满足现阶段的要求。
相关资料
关于集成插件这个,github上有很多个人开发的集成插件,有些提供jar包直接下载可以用,有些需要git clone下来源码进行·mvn install自己打jar包,个人觉得都行,但根据经验,有大部分的项目拿下来编译是不通过的,少量可用。
文件下载地址
sonar-pmd-plugin.jar
链接:https://pan.baidu.com/s/1-r53n5w9lBA1Yjm5nSq_Qg
提取码:q4ba
版本对应
| sonarqube | sonar-pmd-plugin | pgsql |
|---|---|---|
| 8.4 | 3.2 | 9.2.4 |
操作步骤
-
加插件
把
sonar-pmd-plugin-3.2.0-SNAPSHOT.jar存放进sonarqube应用/data/PRG/sonarqube-8.4.1.35646/extensions/plugins -
上传成功后,重启应用
特别注意,如果是root用户上传后,需chown -R sonarqube:sonarqube *,否则重启不成功 -
创建规则
管理员帐户登陆sonarqube,【质量配置】-创建,填写【名称】和选择【语言】,点击【创建】
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-w8kTMd7t-1604988898401)(../image/sonar配置p3c-2.png)]](/image/aHR0cHM6Ly9pbWctYmxvZy5jc2RuaW1nLmNuLzIwMjAxMTEwMTQyODI5NjE1LnBuZz94LW9zcy1wcm9jZXNzPWltYWdlL3dhdGVybWFyayx0eXBlX1ptRnVaM3BvWlc1bmFHVnBkR2ssc2hhZG93XzEwLHRleHRfYUhSMGNITTZMeTlpYkc5bkxtTnpaRzR1Ym1WMEwzTnBibU52YjJ3eE1EQXosc2l6ZV8xNixjb2xvcl9GRkZGRkYsdF83MCNwaWNfY2VudGVy.png)
-
激活规则
点击创建后进入P3C规则界面,点击【更多激活规则】
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1B0yTUlG-1604988898403)(../image/P3C激活规则.png)]](/image/aHR0cHM6Ly9pbWctYmxvZy5jc2RuaW1nLmNuLzIwMjAxMTEwMTQyODUxNTk0LnBuZz94LW9zcy1wcm9jZXNzPWltYWdlL3dhdGVybWFyayx0eXBlX1ptRnVaM3BvWlc1bmFHVnBkR2ssc2hhZG93XzEwLHRleHRfYUhSMGNITTZMeTlpYkc5bkxtTnpaRzR1Ym1WMEwzTnBibU52YjJ3eE1EQXosc2l6ZV8xNixjb2xvcl9GRkZGRkYsdF83MCNwaWNfY2VudGVy.png)
进入激活界面后,输入【p3c】过滤出规则,规则前都有【p3c】标识,选择【批量修改】,点击【激活p3c-test】
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RaqeEInu-1604988898405)(../image/激活p3c.png)]](/image/aHR0cHM6Ly9pbWctYmxvZy5jc2RuaW1nLmNuLzIwMjAxMTEwMTQyOTEyNDg1LnBuZz94LW9zcy1wcm9jZXNzPWltYWdlL3dhdGVybWFyayx0eXBlX1ptRnVaM3BvWlc1bmFHVnBkR2ssc2hhZG93XzEwLHRleHRfYUhSMGNITTZMeTlpYkc5bkxtTnpaRzR1Ym1WMEwzTnBibU52YjJ3eE1EQXosc2l6ZV8xNixjb2xvcl9GRkZGRkYsdF83MCNwaWNfY2VudGVy.png)
-
设置规则
进入【质量配置】,设置默认规则
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kMs4uVXx-1604988898406)(../image/p3c默认规则.png)]](/image/aHR0cHM6Ly9pbWctYmxvZy5jc2RuaW1nLmNuLzIwMjAxMTEwMTQyOTM0ODg2LnBuZz94LW9zcy1wcm9jZXNzPWltYWdlL3dhdGVybWFyayx0eXBlX1ptRnVaM3BvWlc1bmFHVnBkR2ssc2hhZG93XzEwLHRleHRfYUhSMGNITTZMeTlpYkc5bkxtTnpaRzR1Ym1WMEwzTnBibU52YjJ3eE1EQXosc2l6ZV8xNixjb2xvcl9GRkZGRkYsdF83MCNwaWNfY2VudGVy.png)
-
验证
重新扫描-即可

