我正在尝试编写一个自定义sonarqube插件。我从 sonarqube howto article ,请参见AvoidSuperClassRule类。我通过mvn sonar:sonar运行分析,但问题是它无法获取父类名:
String superClassName = treeClazz.superClass().symbolType().fullyQualifiedName();
返回“!unknownSymbol!”。
我的超级类只是源代码中的另一个类。我尝试使用通过maven dependency部分声明的jar文件中的依赖项,但结果相同。 如何使sonar将类加载到类路径中,以便“symbolType()”返回实际类型?
在运行分析之前,请尝试编译项目: mvn package sonar:sonar
mvn package sonar:sonar
SonarJava analyzer需要访问已编译的类以正确解析类型。