2017-05-26 56 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

我的法國極不理想很多,但錯誤消失,如果你在你的類聲明的公共構造? – jsheeran

+0

沒有。實際上,錯誤告訴我們構造函數不應該默認或公開。 –

+0

英文錯誤消息是'工具類不應該有一個公共的或默認的構造函數。它來自檢查'HideUtilityClassConstructor'。 http://checkstyle.sourceforge.net/config_design.html#HideUtilityClassConstructor – rveach

回答

2

只包含靜態方法的類通過此檢查被視爲「實用程序類」。這樣的類應該只有私有的構造函數,這樣它們纔不會被意外實例化。他們也應該是final

所以,你可以添加一個構造是這樣的:

private SpringBootBackend() {} 

,並可能宣佈類final,錯誤應該消失。

0

雖然從checkstyle的角度來看,前面的答案在技術上是正確的,但在這種情況下它將不起作用,因爲Spring Boot將嘗試創建此類的實例,並且由於構造函數private而失敗。

在這種情況下,我決定製止這種違反與註釋:

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