今天,我已将Sonar从版本3.1.1升级到3.7并遇到问题并花了很多时间来解决它。
我想分享,因为我不知道它的声纳问题或我们团队的错误用法......
安装Sonar 3.7后,我所有的分析都失败了......
原因是" Double Checked Locking"在Checkstyle 5.6中删除的Checkstyle规则,但似乎仍然在我的分析中执行。
我检查了声纳中的质量配置文件,但规则未针对任何配置文件激活...
但是,永久链接中的Checkstyle配置文件的导出包含规则!!!!
我尝试使用没有规则的Checkstyle配置文件创建新配置文件,但导出始终相同...
所以当我第一次安装Sonar时,我向我的同事询问了配置质量配置文件......他在~5分钟内发现了问题......
当他配置配置文件时,他将整个Checkstyle配置文件(包含规则)放在全局Java Checkstyle参数中(配置>参数> Java> Checkstyle>过滤器)。 用于我的分析的Checkstyle配置的导出是" sonar.checkstyle.filters"而不是配置文件配置的真正导出。
所以我想知道它是否是一个声纳问题或正常行为以及我们团队的错误使用......
感谢您的帮助!
答案 0 :(得分:1)
@Matthieu,这肯定是因为这个常规设置的使用不当> Java> Checkstyle> sonar.checkstyle.filters属性,必须仅用于激活以下三个过滤器中的一个:SuppressionCommentFilter,SuppressWithNearbyCommentFilter和SuppressionFilter。