2017-05-26 60 views
0

を分析するとき:Checkstyleは、エラーが春のブートアプリでのCheckstyle分析を起動するとき、私はこのエラーを得たJavaコード

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); 
    } 
} 

任意のヘルプ?

+0

私のフランス語が望まれるためにたくさん残していますが、あなたのクラスでpublicコンストラクタを宣言した場合、エラーが離れて行くのですか? – jsheeran

+0

番号。実際、このエラーは、コンストラクタがデフォルトまたは公開であってはならないことを示しています。 –

+0

英語のエラーメッセージは 'ユーティリティクラスはパブリックまたはデフォルトのコンストラクタを持つべきではありません.'です。 'HideUtilityClassConstructor'チェックからのものです。 http://checkstyle.sourceforge.net/config_design.html#HideUtilityClassConstructor – rveach

答えて

2

静的メソッドのみを含むクラスは、このチェックによって「ユーティリティクラス」とみなされます。そのようなクラスはプライベートコンストラクタのみを持つ必要があり、誤ってインスタンス化されることはありません。また、finalである必要があります。

private SpringBootBackend() {} 

を、おそらくクラスfinal宣言し、エラーがなくなっする必要があります。

だから、あなたはこのようにコンストラクタを追加することができます。

0

前の回答はcheckstyleの観点からは技術的に正しいものですが、Springブートはこのクラスのインスタンスを作成しようとし、privateコンストラクタのため失敗します。この場合

は、私はアノテーションでこの違反を抑止することを決めた:

@SuppressWarnings("checkstyle:hideutilityclassconstructor") 
public static void main(String[] args) { 
関連する問題