maven有不少相關插件,主要有:css
checkstyle
Checkstyle 是 SourceForge 的開源項目,經過檢查對代碼編碼格式,命名約定,Javadoc,類設計等方面進行代碼規範和風格的檢查,從而有效約束開發人員更好地遵循代碼編寫規範。java
FindBugs
FindBugs 是由馬里蘭大學提供的一款開源 Java 靜態代碼分析工具。基於Bug Patterns概念,查找javabytecode(.class文件)中的潛在bugmaven
pmd
PMD 是由 DARPA 在 SourceForge 上發佈的開源 Java 代碼靜態分析工具。主要分析java源文件有沒有潛在的bug,重複的代碼,多度複雜的表達式等等。工具
Jdepend
主要用來分析代碼的依賴及健壯性,它遍歷Java class的文件目錄,以Java包(package)爲單位,爲每個包/類自動生成 包的依賴程度,穩定性,可靠度等的評價報告,根據這些報告,咱們能夠獲得包或類之間的依賴關係,並分析出包的穩定程度,抽象程度,是否存在循環依賴關係等。測試
simian
現有的版本是基於maven1倉庫的,並且有版權的問題,能夠使用pmd來替代ui
javancss
代碼的度量工具,檢查java源文件、類、方法等更細粒度的指標,提供圈複雜度編碼
cobertura
提供代碼測試覆蓋率spa
emma
也是代碼測試覆蓋率,可是版本較舊,可用cobertura來替代.net
taglist
用來檢測代碼裏頭的TODO插件
duplicateFinder
提供重複依賴檢查
FindBugs Plug-in
Checkstyle Plug-in
PMD Plug-in
在Jenkins的Build中設置
clean package findbugs:findbugs checkstyle:checkstyle pmd:pmd
並在構建設置中選中
Publish Checkstyle analysis results
Publish FindBugs analysis results
Publish PMD analysis results
Sonar是代碼質量管理平臺,它提供了插件擴展機制,能夠支持PMD、FindBug、checkstyle等,對於Java項目默認執行CheckStyle, FindBugs以及PMD檢測,同時也對檢測結果進行存儲,而後提供了可視化的面板,能夠查看相關趨勢。