Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在SonarQube中使用现有的Checkstyle文件_Sonarqube_Checkstyle - Fatal编程技术网

如何在SonarQube中使用现有的Checkstyle文件

如何在SonarQube中使用现有的Checkstyle文件,sonarqube,checkstyle,Sonarqube,Checkstyle,我和我的同事希望将SonarQube纳入我们现有的项目中。Java项目的正常开发过程包括对代码更改运行Checkstyle,以确保它们遵循我们的样式规则,将项目提交到我们的代码存储库,并让Jenkins构建和打包最新版本。我们希望将SonarQube添加到这最后一步(通过Jenkins插件),但我们不希望复制SonarQube中的所有Checkstyle规则,因为这需要我们维护两组独立的规则,如果我们需要更改规则,会使事情变得更复杂。我们不想完全切换到SonarQube,因为我们希望在将代码提交

我和我的同事希望将SonarQube纳入我们现有的项目中。Java项目的正常开发过程包括对代码更改运行Checkstyle,以确保它们遵循我们的样式规则,将项目提交到我们的代码存储库,并让Jenkins构建和打包最新版本。我们希望将SonarQube添加到这最后一步(通过Jenkins插件),但我们不希望复制SonarQube中的所有Checkstyle规则,因为这需要我们维护两组独立的规则,如果我们需要更改规则,会使事情变得更复杂。我们不想完全切换到SonarQube,因为我们希望在将代码提交到存储库之前仍然运行Checkstyle。我们还希望维护自己的Checkstyle文件作为主要的样式规则集,而不是在SonarQube上维护样式规则并下载生成的XML文件以供本地开发

那么,有没有办法将现有的一组Checkstyle XML文件“上传”(可以这么说)到SonarQube,以便在其评估中使用呢


谢谢您的帮助。

在我看来,您应该做出选择:使用SonarQube或Checkstyle,但不能同时使用两者。
检查代码更改的样式以确保它们符合我们的样式规则=>您不能用SonarQube替换此步骤吗。例如,请参见:或

AFAIK,不可能让Sonar使用存储库中的Checkstyle定义。但是,可以让Sonar使用存储库中当前的Checkstyle抑制过滤器

至于规则定义,我认为您必须在Sonar中维护它们,当任何内容发生更改时,也要更改eclipse cs使用的存储库中的副本。这是多余的,但至少只影响一个人——团队的其他成员可以从中获益。这种方法还允许有意的差异,例如,当检查某些特定于Eclipse的问题时(例如,与Sonar中不存在的源文件夹有关的问题)


抑制过滤器文件的路径可以是指向您的物品被签出进行声纳分析的位置。因此,该部分可以在存储库中进行维护,而无需任何冗余。

既然我们在提交代码后运行SonarQube,那么坏代码就会出现在我们的存储库中,这是我们不希望看到的。SonarQube Eclipse插件和问题报告插件会在提交到SCM之前检查您的代码。