分析java代码时检查样式错误

时间:2017-05-26 10:47:45

标签: spring-boot checkstyle

在Spring启动应用程序中启动checkstyle分析时出现此错误:

SpringBootBackend.java:7:1  error: Les classes utilitaires ne doivent pas avoir de constructeur par défaut ou public.

代码:

  public class SpringBootBackend{

public static void main(String[] args) {

    SpringApplication.run(SpringBootBackend.class, args);
   }
}

有任何帮助吗?

3 个答案:

答案 0 :(得分:2)

仅包含静态方法的类被视为"实用程序类"通过这个检查。这些类应该只有私有构造函数,因此它们不会被意外地实例化。它们也应该是final

因此,您可以添加如下构造函数:

private SpringBootBackend() {}

并且可能声明类final,错误应该消失。

答案 1 :(得分:1)

创建一个禁止检查文件checkstyle-suppressions.xml

的配置文件
 <?xml version="1.0"?>

<!DOCTYPE suppressions PUBLIC
        "-//Puppy Crawl//DTD Suppressions 1.0//EN"
        "http://www.puppycrawl.com/dtds/suppressions_1_0.dtd">

<suppressions>
    <suppress files="SpringBootApplication.java" checks="HideUtilityClassConstructor" />
</suppressions>

maven-checkstyle-plugin插件配置中,添加checkstyle-suppressions.xml

的位置
    <configuration>
        <configLocation>quality/checkstyle.xml</configLocation>
        <suppressionsLocation>quality/checkstyle-suppressions.xml</suppressionsLocation>

答案 2 :(得分:0)

虽然从checkstyle的角度来看,上一个答案在技术上是正确的,但在这种情况下它不会起作用,因为Spring Boot会尝试创建这个类的实例,但由于private构造函数它会失败

在这种情况下,我决定使用注释来抑制此违规行为:

@SuppressWarnings("checkstyle:hideutilityclassconstructor")
public static void main(String[] args) {