重慶分公司,新征程啟航
為企業提供網站建設、域名注冊、服務器等服務
為企業提供網站建設、域名注冊、服務器等服務
這篇文章給大家介紹sonarqube中怎么添加阿里java開發規范,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
我們擁有十多年網頁設計和網站建設經驗,從網站策劃到網站制作,我們的網頁設計師為您提供的解決方案。為企業提供成都網站設計、成都網站建設、微信開發、微信小程序、手機網站制作、成都h5網站建設、等業務。無論您有什么樣的網站設計或者設計方案要求,我們都將富于創造性的提供專業設計服務并滿足您的需求。
拉取sonar-pmd源碼,切換到3.2.1。修改pom文件添加p3c-pmd依賴:
com.alibaba.p3c p3c-pmd 2.0.0
開始配置阿里Java規范,此處演示配置規則:單個方法的總行數不超過80行,規則名為MethodTooLongRule,此規則名來源于p3c項目p3c\p3c-pmd\src\main\resources\rulesets\java\ali-other.xml文件中配置的規則名。
首先在sonar-pmd項目sonar-pmd-plugin\src\main\resources\org\sonar\l10n\pmd\rules目錄下新建pmd-p3c目錄用于存放規則說明html,然后新建MethodTooLongRule.html, 添加內容如下:
單個方法的總行數不超過80行。
說明:包括方法簽名、結束右大括號、方法內代碼、注釋、空行、回車及任何不可見字符的總行數不超過80行。
修改sonar-pmd項目sonar-pmd-plugin\src\main\resources\org\sonar\l10n\pmd.properties配置文件,添加MethodTooLongRule規則名如下:
rule.pmd.MethodTooLongRule.name=[p3c]The total number of lines for a method should not be more than 80.
在sonar-pmd項目sonar-pmd-plugin\src\main\resources\org\sonar\plugins\pmd目錄下新建rules-p3c.xml規則文件并添加MethodTooLongRule規則配置如下:
MAJOR CODE_SMELL other
修改sonar-pmd項目sonar-pmd-plugin\src\main\resources\com\sonar\sqale\pmd-model.xml配置文件,在文件末尾標簽前添加如下代碼:
P3C-PMD p3c-pmd P3C_PMD p3c_pmd pmd MethodTooLongRule remediationFunction CONSTANT_ISSUE offset 2 min
添加p3c規則的引入,修改PmdRulesDefinition.java文件,在define方法內添加p3c規則庫
@Override public void define(Context context) { NewRepository repository = context .createRepository(PmdConstants.REPOSITORY_KEY, PmdConstants.LANGUAGE_KEY) .setName(PmdConstants.REPOSITORY_NAME); extractRulesData(repository, "/org/sonar/plugins/pmd/rules.xml", "/org/sonar/l10n/pmd/rules/pmd"); // 新增 extractRulesData(repository, "/org/sonar/plugins/pmd/rules-p3c.xml", "/org/sonar/l10n/pmd/rules/pmd-p3c"); repository.done(); }
使用mvn package -Dmaven.test.skip=true打包即可,如果規則的描述文件html中包含中文內容,那么注意文件編碼需要是utf-8。
把sonar-pmd-plugin\target目錄下的sonar-pmd-plugin-3.2.1.jar放到 sonarqube服務/extensions/plugins目錄下重啟服務。
登陸sonarqube在質量配置頁面點擊【創建】按鈕新建p3c質量,語言選Java,點擊【創建】后跳轉到該質量配置的詳情界面,然后點擊【更多激活規則】,在搜索規則中搜索p3c,然后點擊【批量修改】,點擊【應用】到剛新建的質量配置, 然后回到【質量配置】頁面,將該質量配置Set as Default【設為默認】,然后就可以分析項目質量了。
問題:
1. 分析失敗提示缺失類com/google/gson/Gson,在sonar-pmd項目pom文件添加如下依賴:
com.google.code.gson gson 2.8.5
其他:
1. 規則說明html內容來源于p3c\p3c-pmd\src\main\resources下的message.xml文件內配置的msg和desc內容,添加示例代碼使用
標簽,如果代碼內用泛型或代碼為xml配置請使用標簽,示例如下: Negative example :
List list = new ArrayList (); list.add("22"); //warn List test = (ArrayList ) list.subList(0, 1); 2.規則名來源于p3c\p3c-pmd\src\main\resources下的message_en.xml的配置的規則的msg內容,但存在部分msg過長導致sonar重啟失敗,請酌情刪減。
3. rules-p3c.xml添加規則類型type暫時用了CODE_SMELL和BUG
4. rules-p3c.xml添加規則內的configKey配置要與p3c\p3c-pmd\src\main\resources\rulesets\java目錄下的規則配置文件文件名和規則名一一對應。
關于sonarqube中怎么添加阿里java開發規范就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
本文名稱:sonarqube中怎么添加阿里java開發規范
當前URL:http://www.xueling.net.cn/article/gisshd.html