我正在运行Jenkins作业生成良好,直到我在SonarQube中启用了一个自定义规则。该规则由我撰写,在Sonar中进行公司特定的代码惯例检查。 规则启用后,SonarQube扫描仪抱怨ClassNotFound的错误:启用自定义规则后,Jenkins上的SonarQube扫描仪失败
产生的原因:抛出java.lang.ClassNotFoundException:org.sonar.java.checks.JavaFootprint 在org.sonar.classloader.ParentFirstStrategy.loadClass (ParentFirstStrategy.java:39) 在org.sonar.classloader.ClassRealm.loadClass(ClassRealm.java:87) 在org.sonar.classloader.ClassRealm.loadClass(ClassRealm.java:76) ...... 70多个 18:33:57.764 DEBUG:执行getVersion 18:33:57.765 DEBUG:执行停止
请提供帮助。谢谢。
定制的代码是从这里复制:https://github.com/SonarSource/sonar-custom-rules-examples/tree/master/java-custom-rules 我加入了一些代码来检查Tree.Kind.TRIVIA类似于此: https://github.com/SonarSource/sonar-java/blob/master/java-checks/src/main/java/org/sonar/java/checks/CommentedOutCodeLineCheck.java 的想法是执行一些公司注释约定,例如,如果公司检查许可证声明位于每个文件的开头。
一些关于你实际做的代码可能会有所帮助。 –
我更新了帖子,请检查,谢谢。 –