sonar整合阿里java規範開發歷程

sonar整合阿里java規範開發歷程

1. 在準備做sonar整合阿里java規範開發的sonar-pmd插件的時候,首先上網找相關整合的經驗,看到的是博客中綜合考慮,覺得這篇博客應該可以: https://www.jianshu.com/p/b849175dd38b 這篇博客不管是從博客段落設計還是從大概掃過一遍內容之後的感觸,都覺得挺靠譜的,然後就根據博主提供的git地址下載了博主的源碼,隨後根據咱們自己系統的要求對博主的源碼按其博文描述的操作步驟進行相應的篩減,然後開始clean install 打jar包,報錯,根據報錯日誌提示信息百度谷歌一波搜索解決一個報錯,繼續clean install 打jar包,報錯(不是同一個錯),繼續解決問題…在如此解決了幾次問題之後仍是無法clean install 成功。
2. 由於一直無法clean install成功,且不知道是自己將源碼改錯還是其源碼本身就是不通的,隨後將最初下載的源碼包重新解壓,不做任何更改clean install,仍報錯,…
3. 在別人修改源碼的基礎上進行修改,對原博主代碼依賴較高,且出問題不好解決,此路不通。


4. 針對sonar整合阿里java規範,以及網上了解到的別人的方案,需將阿里java規範整合在sonar的pmd插件中,將整合後的pmd插件以插件的形式應用在sonar服務,既然基於別人整合半成品的方案無法走通,那就上述到sonar-pmd插件源碼,基於一份乾淨的sonar-pmd插件源碼進行個性化開發,隨後下載了與當前sonar版本匹配(7.3)的sonar-pmd插件源碼進行開發
5. 爲了排除sonar-pmd插件源碼是否真實可用的疑問,此次直接將sonar-pmd源碼clean install 打出jar包放入sonar服務,sonar正常啓動,且在sonar頁面可以看到對應的代碼規則;後將阿里java規範整合在當前sonar-pmd源碼的配置文件中,且導入基於阿里java規範開發源碼打包p3c-pmd-1.3.6.jar,將項目clean install 成功,得到sonar-pmd插件,將此jar包放入sonar服務,正常啓動,sonar頁面可以看到成功加入的阿里java規範53條,sonar整合阿里java規範成功,但是…
6. 將sonar整合jenkins配置到具體項目進行檢測時,檢測過程一直報錯,在調整了jenkins對應項目的sonar配置後,仍無法解決,而將sonar的代碼規則配置爲其他java規則進行掃描,則正常掃描,論證jenkins項目sonar配置正常,上面開發的整合阿里java規範版的sonar-pmd jar包有異常,根據異常信息再次返回sonar-pmd進行排查,在解決多次異常之後仍無法正常配合jenkins代碼掃描成功…且網上針對此版本未有整合阿里java規範的操作記錄


7. 針對上面的情況,採用李爽提出的降低sonar版本的方法,後將sonar版本將至6.5,此次將sonar-pmd對應6.5版本的插件下載之後,基於jar包的基礎上進行阿里java規範整合的配置文件的修改,整合成功後將jar放入sonar服務重啓服務,配置sonar代碼規則後並整合jenkins 項目配置文件進行代碼掃描,正常無報錯,sonar整合阿里java規範完成。
8. 此文成文較早,現在阿里開發規範已更新至最新版,在這裏發出這篇過去的開發歷程來爲以後開發提供借鑑,僅供參考

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章