原文地址:https://www.jianshu.com/p/ff1d800885ce
慣例第一步肯定是SonarQube的安裝與運行配置了,但這部分不在本文主題內,網上一搜一大把,這里就不講了,大家可以先看這篇文章:SonarQube的安裝、配置與使用
。我們直接講自定義CheckStyle代碼規則的配置方法。
(注:不同的SonarQube版本可能略有不同,大家按線索來)
1、CheckStyle插件安裝(熟悉的可跳過)

CheckStyle插件安裝操作步驟
如圖所示,在
應用市場
中搜索CheckStyle即可,搜索出來后,點擊
安裝
按鈕(我這里已經安裝了,未安裝的情況再
卸載
按鈕的地方會有
安裝
按鈕),即可下載安裝,安裝過程中會有一次重啟操作,大家按提示操作即可。
(注:有些版本的SonarQube插件安裝是在
配置
-
系統
-
更新中心
)
2、配置自定義的CheckStyle代碼規則
配置自定義的CheckStyle代碼規則,有兩種方法,使用CheckStyle代碼規則配置文件
和啟用SonarQube中的CheckStyle相關代碼規則
,下面一一介紹:
- 使用CheckStyle代碼規則配置文件
注意:這種方法只有新建一個質量配置
時才能用,質量配置
創建好后,就不能利用配置文件來配置代碼規則了。
按照上面兩個圖,填寫好相關信息后,點擊創建
按鈕。這里有幾個問題需要注意下:-
問題一 配置文件不能以
<?xml version="1.0" encoding="UTF-8"?>
開頭,否則點擊創建
按鈕時會有如下錯誤提示:配置文件中有<?xml?>標簽
因此要把此標簽去掉,直接以<module>
標簽開頭,如下圖所示:配置文件去掉xml文件頭標簽 -
問題二 配置文件中不能有重復的規則,否則點擊
創建
按鈕時,會有報錯提示,比如:重復規則錯誤提示 -
問題三 配置文件中不能有
規則模板
(規則模板
后面介紹),當配置文件中有規則模板
,點擊創建
按鈕時,會有報錯提示,比如:`規則模板`錯誤提示checkstyle:com.puppycrawl.tools.checkstyle.checks.coding.FinalLocalVariableCheck
不能被激活。這條規則是檢測從未改變的局部變量是否添加final修飾詞,那么如果我們需要添加這條規則,怎么處理呢?留到啟用SonarQube中CheckStyle相關代碼規則方法去說。
-
通過使用配置文件的方法配置自定義的CheckStyle代碼規則,或多或少還會有其它問題,要根據提示處理配置文件。所以,一般情況下,不建議使用這種方法,事倍功半的說。╥﹏╥
-
啟用SonarQube中CheckStyle相關代碼規則
質量配置
中會顯示SonarQube中所有已安裝編程語言中創建好的規則配置(每個語言都有內置Sonar way
的默認配置),可見,剛剛創建的CheckStyle
配置中,通過文件已配置了18條規則,接下來我們再進行添加。點擊配置名稱,進入配置詳情頁:質量配置詳情更多激活規則
可激活規則列表資源庫
的篩選,選中資源庫
后,會列舉出已安裝的插件列表,選中CheckStyle
,頁面中會篩選出CheckStyle的可配置規則(上圖已經篩選好了,顯示有136條可配置的規則)。接下來就可以對這136條規則進行配置了,細心的同學可能已經發現了,規則列表中的規則有兩類:非模板規則(有
活動
按鈕,無規則模板
的標簽)和模板規則(無活動
按鈕,有規則模板
的標簽)。所以,我們也分兩類講:- 非模板規則
對於非模板規則,我們直接在規則列表中點擊列表項的活動
按鈕即可,在彈出的對話框中填寫屬性值,如下圖所示:激活非模板規則 - 規則模板
對於規則模板,是沒有直接的激活按鈕的。那么規則模板怎么激活呢?且聽下回分解……O(∩_∩)O哈哈~(玩笑臉)
規則模板,需要我們先根據模板創建一條規則,之后再激活創建的規則。接下來說步驟(以上文說的規則模板Final Local Variable
為例)- 規則詳情頁
- 點擊
創建
按鈕,彈出自定義規則創建框創建自定義規則創建
按鈕。
創建成功的規則如下圖所示:活動
即可激活。其次,也可以在此頁面點擊自定義的規則名稱,進入詳情頁自定義規則詳情頁編輯
、刪除
、激活
等操作。
-
- 非模板規則
配置好后,可在配置詳情頁中點擊CheckStyle
的鏈接,以XML的格式查看已配置好的規則,如下圖所示:


配置好的CheckStyle規則