我有一個預先存在的Java項目,聲納分析最近應用。有大量的CheckStyle JavadocMethod規則違規。如何將Sonar JavadocMethod規則限制爲包含「Controller」的文件名?
如何限制JavadocMethod規則,僅適用於模式爲「控制器 .java」的java文件名?
我有一個預先存在的Java項目,聲納分析最近應用。有大量的CheckStyle JavadocMethod規則違規。如何將Sonar JavadocMethod規則限制爲包含「Controller」的文件名?
如何限制JavadocMethod規則,僅適用於模式爲「控制器 .java」的java文件名?
該JavadocMethod檢查不提供一個選項來限制自己某些文件,所以這不能輕易完成。但是 - 你可以:
寫custom filter這抑制了發生在不匹配的模式文件中的所有JavadocMethod警告。這並不困難 - 鏈接頁面上的示例涵蓋了這種情況。但它需要你部署過濾器,這可能有點麻煩。
我不確定這是否適用於Sonar。我在Sonar中始終使用自定義Checkstyle檢查,但我還沒有嘗試過自定義篩選器。
寫一個Checkstyle的JavadocMethodCheck
的子類,它增加了一個選項,僅適用於某些文件(Sonar Examples,Checkstyle tutorial)。如果不能將自定義濾鏡添加到聲納,這是一個肯定的選擇。
如果您使用的是Eclipse,你可以將其配置爲使用基於文件名不同的規則集。您可以使用項目屬性中的「高級」配置設置來執行此操作。你的正則表達式將Controller\.java$
匹配所有控制器和.{10}(?<!Controller)\.java$
相匹配的其他Java文件。這種方法也可以應用於獨立或基於Ant的Checkstyle運行,但不適用於Sonar。
對不起,沒有什麼更容易提供給你 - 但是這是怎麼回事兒,此刻...
祝你好運!
你的聲納教程鏈接已經過期,如果可以,請更新。 –
剛剛做到了。舊教程不再存在,但SonarQube今天的工作方式不同。更新爲更有用的示例集合。 –