编写SonarQube自定义Java和Xml规则

本文介绍了如何在SonarQube中编写自定义的Java和Xml规则,包括基本思路、开发环境、编写方法、编译打包、测试以及总结。通过下载官方规则插件,使用Java类或XPath表达式实现自定义规则,然后编译打包并上传到SonarQube。文章还提供了单元测试和手工测试的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

因为工作需要最近接触到了SonarQube,需要根据项目自定义Java和Xml规则,由于国内的资料实在是比较少,并且官网的资料全是英文的,看起来实在是头疼,所以希望写点资料能够帮助到其他人。
官网地址:https://www.sonarqube.org
在此感谢hu_qingen (古月随笔) 和 冯澍雨 提供的帮助

基本思路

1、下载官方提供的规则插件包
2、根据需求编写规则类
3、编译打包
4、上传自定义规则插件

下载地址:
1、Java自定义规则插件:
https://github.com/SonarSourc...

2、Xml自定义规则插件:
https://sonarsource.bintray.c...

开发环境

JDK1.8以上
Mavean
Jenkins

编写方法

目前SonarQube自定义规则支持的方式有两种: 编写java类和编写XPath表达式,这两种方式都是基于AST(Abstract Syntax Tree抽象语法树)语法结构来实现的。
1、Xpath方式
需求:
从Java代码中查找是否存在 while {}这种语法结构

表达式代码:
//WhileState

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值