“公共类型、方法和字段(API)应该用Javadoc文档化”的规则在Sonarqube6.5中似乎不起作用。
我在Java Quality Profile中激活了该规则,将该Profile设置为默认值,并通过MVN sonar:sonar
命令运行我的Java代码库。
package counter;
/**
* This is a Javadoc comment
*/
public class MyClass {
public static final int DEFAULT_STATUS = 0; // Compliant - static constant
private int status; // Compliant - not public
public String message; // Noncompliant
public MyClass() { // Noncompliant - missing documentation
this.status = DEFAULT_STATUS;
}
public void setStatus(int status) { // Compliant - setter
this.status = status;
}
protected int doSomething() {
return status + 24;// Compliant - not public
}
public int doSomething2(int value) { // Noncompliant
int a = value*8;
return a*1;
}
public int doSomething3(int value) { // Noncompliant
return value*9;
}
}
这似乎是Sonarqube6.5中的一个问题。你可以做的是升级到Sonarqube6.7.7,更新所有插件,检查使用的配置文件中规则的激活,然后再试一次。请注意,最新的LTS版本是7.9,所以您应该准备从6.7.x升级到7.9,即下一个主要版本。也更新插件再次。
部署自定义规则(如https://github.com/sonarsource/sonar-java/blob/master/java-checks/src/main/java/org/sonar/java/checks/useLessimportcheck.java)后,启动Sonarqube4.2时,在sonar启动期间引发以下异常: 上面提到的类应该在sslr-core-1.19.2.jar
在哪里可以找到用于将规则导入到Sonar的XML文件的好文档和/或模式?在http://javadocs.sonarsource.org/5.1/apidocs/org/Sonar/api/server/rule/rulesdefinitionxmlloader.html上有一些文档,但是它并不准确(例如,description标记为可选,但是Sonar如果缺少它就会失败),并且没有描述每个元素代
更新: 如果我使用注释和路径:/*和/api/*-site可以很好地工作。但是因为我使用全局静态IP,所以我不能为每个IP创建一个以上的入口。如果我使用-site返回错误:
我对SonarQube和Squid(以及CheckStyle、FindBugs和PMD)是新手。我用的是SonarQube 4.1.1。和默认的“Sonar way with FindBugs”质量配置文件来评估我的一些Java项目。 在我的分析结果中,我从SQUID那里得到了一大堆相同的关键问题: 异常处理程序应提供一些上下文并保留原始异常。当处理捕获的异常时,应记录两个强制信息,或在重新引发的
声纳5.0.1(应用) Sonar-Runner 2.4(gradle插件) 等级2.3 Java 8(要分析的项目) Java插件3.1(声纳插件) 有没有人有什么想法?