Java 我如何抑制checkstyle消息;实用程序类不应具有“默认构造函数”的公共;使用弹簧时
在Spring Java项目中,我有以下类:Java 我如何抑制checkstyle消息;实用程序类不应具有“默认构造函数”的公共;使用弹簧时,java,spring,Java,Spring,在Spring Java项目中,我有以下类: @SuppressWarnings({"PMD", "Checkstyle"}) @SpringBootApplication public class ToolBoxApplication { public static void main(final String[] args) { SpringApplication.run(ToolBoxApplication.class, args); } } 使用Jen
@SuppressWarnings({"PMD", "Checkstyle"})
@SpringBootApplication
public class ToolBoxApplication {
public static void main(final String[] args) {
SpringApplication.run(ToolBoxApplication.class, args);
}
}
使用Jenkins构建告诉我,在实用程序类中不应该有公共或默认构造函数
在我的checkstyle.xml和Treewalker文件中
<!-- Make the @SuppressWarnings annotations available to Checkstyle -->
<module name="SuppressWarningsHolder" />
和模块
我试着通过使用
@SuppressWarnings({“PMD”,“checkstyle:HideUtilityClassConstructor”})
但这也不起作用。
“PMD”抑制确实有效(它实际上报告了相同的错误)。抑制时,需要以小写形式指定checkstyle名称。这就行了
@SuppressWarnings({"PMD", "checkstyle:hideutilityclassconstructor"})
也可以添加虚拟方法以避免该规则:
public void foo() {
throw new UnsupportedOperationException();
}
我们有多个spring引导应用程序,因此不需要添加多个
@SuppressWarnings
注释,我们配置了一个checkstyle抑制过滤器,并添加了以下抑制:
<!-- Spring Boot Application files get detected as utility classes and checkstyle wants them to have a private constructor, but a constructor is required to run the application. By convention application classes end with *Application -->
<suppress checks="HideUtilityClassConstructor" files=".*Application.java"/>
试试这个@SuppressWarnings({“PMD”,“checkstyle:hideutilityclassconstructor”})
谢谢你的pvpkiran,它解决了这个问题。我会把它添加为一个答案,但我的声誉不够高,无法显示。是的,接受。抱歉,这是新的。