【问题标题】:The example java custom rules doesn't work when I analyse in SonarQube当我在 SonarQube 中分析时,示例 java 自定义规则不起作用
【发布时间】:2018-11-09 05:15:14
【问题描述】:

我正在学习根据 SonarQube 网站上的步骤编写自定义规则。 https://docs.sonarqube.org/display/PLUG/Writing+Custom+Java+Rules+101 然后我将规则放入 SonarQube。但是当我分析示例代码时它不起作用。 我已经在 SonarQube 服务器中看到了规则。 SonarQube server shows the rule 但它没有分析显示错误。 enter image description here 我的示例代码如下:

public class Example {
void foo(){

  }
int bar(int i){
    return 0;
  }
}

我的 SonarQube 版本是 7.0。

【问题讨论】:

  • 那么您的问题到底是什么?您将不得不提供更多信息让人们了解问题
  • 您是否使用这些规则来编写您的规则? Writing+Custom+Java+Rules+101
  • 我已经上传了图片,实际问题是规则无法生效,不知道怎么找原因。

标签: java sonarqube


【解决方案1】:

您是否尝试过激活当前质量配置文件的规则?这是我在制定新规则时总是忘记的第一件事。有时它们会出现在规则列表中,但它们对于我们的任何质量配置文件都不是有效的。

【讨论】:

  • 你的意思是我会用这些代码把这条规则添加到RulesList.java中吗?.add(MyFirstCustomCheck.class)
  • 不仅如此。我的意思是在 Web 控制台上激活您的质量配置文件的新规则。 - 转到您的 http://:9000(以管理员身份登录非常重要) - 规则 - 在左侧,按您的存储库过滤(在 CustomRulesDefinition.java 或某个类上找到您的存储库名称在您的插件上实施 RulesDefinition) - 您应该会看到您的新规则,然后有一个按钮将它们激活到您的质量配置文件
  • 我意识到的另一件事是,我只能使用 SonarWay Java Quality Profile 的子项来运行我自己的规则。如果对您不起作用,请尝试复制声纳本机配置文件,然后使用对我也有效的副本(在此复制的配置文件上激活您的规则)
  • 啊啊啊啊……我明白了……非常感谢!!!我在非活动标签下找到它。但是质量配置文件没有激活按钮。您的意思是我应该创建一个质量配置文件来激活所有规则吗?
  • 确保您以管理员身份登录以激活您的质量配置文件的新规则(甚至是您新复制的规则)。否则它们仍将处于非活动状态!如果您已登录并拥有所有权限,那么您看到的列表上应该会出现一个“激活”按钮。
猜你喜欢
  • 2016-11-28
  • 1970-01-01
  • 2015-03-12
  • 2015-09-21
  • 2016-03-15
  • 2016-02-12
  • 2016-06-18
  • 2014-04-22
  • 1970-01-01
相关资源
最近更新 更多