我已经用Java创建了一个新的规则实现。POM包括以下内容:
<dependency>
<groupId>org.codehaus.sonar</groupId>
<artifactId>sonar-plugin-api</artifactId>
<version>4.5</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.codehaus.sonar-plugins.java</groupId>
<artifactId>sonar-java-plugin</artifactId>
<type>sonar-plugin</type>
<version>3.1</version>
<scope>provided</scope>
</dependency>新规则扩展了
org.sonar.java.bytecode.visitor.BytecodeVisitor 哪个IntelliJ IDEA解析为
org.codehaus.sonar-plugins.java:java-squid:3.1但是,在将插件工件部署到全新的Sonar 5.1.2安装时,我得到
java.lang.NoClassDefFoundError: org/sonar/java/bytecode/visitor/BytecodeVisitor要进行部署,我将plugin.jar放到"plugins/downloads“文件夹中,并尝试启动Sonar,
有人能确认我对Sonar 5.1.2的插件使用了正确的依赖关系吗?
我注意到我的插件没有META-INF/lib/,而一些较大的插件在该位置包含JAR文件。
非常感谢您的帮助。
谢谢,罗宾。
发布于 2015-09-16 00:14:11
我完全说错了。
我试图部署一个规则,就好像它是一个插件。
正确的结构描述如下:
http://docs.sonarqube.org/display/DEV/Developing+Plugins
https://stackoverflow.com/questions/32588212
复制相似问题