CallToDeprecatedMethod规则不起作用

时间:2014-04-30 11:53:41

标签: sonarqube

由于这条规则对我不起作用,我已经创建了简单的测试"项目"结构:

/myTestProject
  /src
    /a
      /A.java
    /b
      /B.java

.java文件的内容:

A.java

package a;

public class A {

    public A() {


    }

    public void someOther() {
        halo();
    }

    /**
     * @deprecated
     */
    @Deprecated
    public void halo() {
        int i = 0;
    }


}

B.java

package b;

import a.A;

public class B {

    public B() {

    }

    public void halo() {
        A a = new A();
        a.halo();
    }
}

我已启用避免在默认质量配置文件中使用已弃用的方法。 (鱿鱼中的Key CallToDeprecatedMethod)

我运行了SonarRunner但是我在这段代码中没有任何问题。

我忘记了什么?

编辑: 我的环境SonarQube 4.1和Sonar Runner 2.3

1 个答案:

答案 0 :(得分:0)

我在以下主题中找到了答案:http://sonarqube.15.x6.nabble.com/sonar-dev-sonar-squid-needs-class-file-td5019909.html#a5019937

正如本主题的标题所说:“声纳鱿鱼需要类文件”

在本主题中,我们可以读到我们项目中的文件* .class是必需的。

我还没有构建我的项目。所以没有任何* .class文件。

在规则说明或其他地方没有明确说明需要* .class文件。