java.lang.ClassNotFoundException : org. sonar.java.model.JavaTree "dependency issue creating a sonar plugin"

标签 java plugins sonarqube sonar-runner

我正在创建一个插件来添加一些自定义规则。首先,我的工作基于:/sonar-examples/plugins/java-custom-rules 。这个示例运行得很好,我也创建了一些规​​则。

我在尝试创建基于 UnusedPrivateFieldCheck.java version 2.1 的规则时遇到问题。 sonarRunner 失败并显示以下消息:

java.lang.ClassNotFoundException: org.sonar.java.model.JavaTree

失败的行是:

AstNode identifierAstNode = ((JavaTree) tree).getAstNode().getFirstChild(JavaTokenType.IDENTIFIER);

在规则版本2.3中,没有使用JavaTree,但不幸的是 Sonar 版本 4.3.2 可与版本 2.1 配合使用

JavaTree 类可以通过插件类路径共享访问吗?有特殊配置吗?我的 pom.xml 中缺少什么吗?我必须等到 2.3 版本吗?

最佳答案

JavaTree 不是 org.sonar.plugins.java.api 的一部分,因此无法通过插件类路径共享进行访问以实现您自己的规则。

此类仅供内部使用。

关于java.lang.ClassNotFoundException : org. sonar.java.model.JavaTree "dependency issue creating a sonar plugin",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24794038/

相关文章:

javascript - 需要图像幻灯片放映方面的帮助吗?

javascript - Sonarqube 不显示安全热点

sonarqube - 如何在 IDE 中使用 SonarQube 服务器上定义的 PMD 和 FinBugs 规则?

Java rest API 身份验证,JWT 最佳实践

java - 无法解析 intellij 中的符号 jsonobject

plugins - 有没有一个 grails 插件可以创建在线文档指南?

javascript - 如何使用插件中的函数

sonarqube - Github Actions、Python 覆盖率和 Sonarqube

java - 使用 VAO 的 JOGL 中纹理为黑色

java - (java) 设置 vector 的大小