代码之家  ›  专栏  ›  技术社区  ›  Igor Deruga

Sonar maven插件在类路径中看不到父类

  •  2
  • Igor Deruga  · 技术社区  · 6 年前

    我正在尝试编写一个自定义sonarqube插件。我从 sonarqube howto article ,请参见AvoidSuperClassRule类。我通过mvn sonar:sonar运行分析,但问题是它无法获取父类名:

    String superClassName = treeClazz.superClass().symbolType().fullyQualifiedName();
    

    返回“!unknownSymbol!”。

    我的超级类只是源代码中的另一个类。我尝试使用通过maven dependency部分声明的jar文件中的依赖项,但结果相同。 如何使sonar将类加载到类路径中,以便“symbolType()”返回实际类型?

    1 回复  |  直到 6 年前
        1
  •  1
  •   user3815260 user3815260    6 年前

    在运行分析之前,请尝试编译项目: mvn package sonar:sonar

    SonarJava analyzer需要访问已编译的类以正确解析类型。