我正在创建一个插件以添加一些自定义规则。首先,我的工作基于:/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
,但是很遗憾声纳版本4.3.2与版本2.1兼容
是否可以从插件类路径共享访问
JavaTree
类?有特殊配置吗?我的pom.xml中缺少什么吗?我必须等到2.3版吗? 最佳答案
JavaTree
不是org.sonar.plugins.java.api
的一部分,因此无法通过插件类路径共享来访问以实现您自己的规则。
此类仅供内部使用。