一、前言

古人云:“欲速则不达”,最近真的是深有体会。学习也是如此,不是一件着急的事,越是着急越不会

就拿SonarQube来说吧,去年年末就想学来着,但是想着想着就搁置了,有时觉得自己才是那个拖延症特别严重的人。

临近年末又捡起来了,关于SonarQube自定义规则部分,我也是苦恼了很久,网上的资料不是很多,但凡是有相关的能用的真的很少,基本是抄来抄去。

一周没学习和更文了,一是这块真的没思路,网上找来的也不好用;二是因为女人「相亲路任重而道远,不多说心塞」心情不好,也不想做任何事情。

后在自动化技术交流群的无业游民—我一阳指贼溜细心帮忙,帮我晚上远程搞定的。

当然,我也在本次实战中学会了怎么排查问题,真的十分感谢这位热心大佬,帮我搞到近晚上十二点,同时也为自己的零基础docker而感到惭愧。

二、SonarQube自定义规则的两种方式

  • 使用CheckStyle插件安装
  • 使用SonarQube自定义规则开发打包导入jar

三、使用CheckStyle插件安装

1、安装CheckStyle插件

在应用市场中搜索CheckStyle即可,搜索出来后,点击安装按钮(我这里已经安装了,未安装的情况再卸载按钮的地方会有安装按钮),即可下载安装,安装过程中会有一次重启操作,大家按提示操作即可。

2、使用CheckStyle代码规则配置文件

新建规则,以java为例,其他规则请视自己情况调整

按照上面两个图,填写好相关信息后,点击创建按钮。

3、启用SonarQube中CheckStyle相关代码规则

如图所示,在质量配置中会显示SonarQube中所有已安装编程语言中创建好的规则配置(每个语言都有内置Sonar way的默认配置),可见,刚刚创建的CheckStyle配置中,通过文件已配置了18条规则,接下来我们再进行添加。点击配置名称,进入配置详情页:

点击更多激活规则

上图中左边栏的用于筛选的,可从语言、规则类型、标签、资源库等等进行筛选,这里我们要用到资源库的筛选,选中资源库后,会列举出已安装的插件列表,选中CheckStyle,页面中会筛选出CheckStyle的可配置规则(上图已经筛选好了,显示有136条可配置的规则)。

最后,可在配置详情页中点击CheckStyle的链接,以XML的格式查看已配置好的规则,如下图所示:

四、使用SonarQube自定义规则开发打包导入jar

1、编写自定义规则,使用mvn clean package命令打包

2、把target下生成的jar,放在$SONAR_HOME/extensions/plugins 目录,重启SonarQube

3、查看新增规则

可以在Java下面资源库,下面有新增的规则,如下图所示:

4、创建新配置

按照上面两个图,填写好相关信息后,点击创建按钮

5、启用新增规则

点击新建配置,进入详细配置页面

点击更多激活规则

将新增规则添加

找到刚才新增规则,点击批量修改,点击应用,全部加入即可

启用新规则

五、小结

  • 第一种方式很鸡肋,虽然看起来最简单,但在你尝试后,会发现这是个巨大的坑,不推荐使用;
  • 第二种方式看似简单,但是这个规则的开发,你看不懂代码就别合计了,哈哈,总的来说学习之路真的是任重而道远;
  • 这个本不难,主要是配置繁琐,应对方式 耐心

还记得MC小洲的一句经典的话:

承受不了,就放弃不丢人

但对我不适用,我从来都是有始有终的。

欠下的债总是要还的

这是电影《无间道》中的经典对白,于我而言,这次深深的感觉到自己的盲区很多,还需要不断地学习和总结。

生活和学习一样,如果心情不好的时候,也是在所难免的。

状态不好,就静下心来,放一放,再去思考它,你会发现,一切其实并不难。

最新文章

  1. Windows安装Scrapy遇坑解决办
  2. 线段树区间求最大值(点更新)---I Hate It
  3. 数据结构(动态树):[国家集训队2012]tree(伍一鸣)
  4. 用命令行在github新建一个项目
  5. zoj 2913 Bus Pass
  6. 浅copy 与 深copy
  7. arcengine之版本管理
  8. qt: 获取sql数据表的所有的字段;
  9. iOS强制横屏或强制竖屏
  10. Maven项目搭建-Eclipse版
  11. centos7 安装zookeeper3.4.8集群
  12. JS模块化写法(转)
  13. JZYZOJ 2042 多项式逆元 NTT 多项式
  14. Oracle sql%rowcount 返回影响行数;sql server @@RowCount返回影响行数
  15. SSO-基本概念
  16. [iOS]一些第三方库
  17. debug教程
  18. css/css3实现未知宽高元素的垂直居中和水平居中
  19. Windows下使用DOS命令进入MySQL数据库
  20. 质问微软 WP8.1开发HTTPS 真费劲

热门文章

  1. LibreOj-10012-「一本通-1-2-例-2」Best-Cow-Fences
  2. Springboot websocket学习Demo
  3. python爬虫--用xpath爬豆瓣电影
  4. Day4 dict和set
  5. Python自动化测试入门必读(最新)
  6. 个人微信公众号搭建Python实现 -开发配置和微信服务器转入-配置说明(14.1.2)
  7. JAVA基础--cmd命令
  8. SpringBoot从入门到精通教程(五)
  9. JMeter上传文件,并修改源码参数化Content-Disposition 的 filename
  10. prim algorithm