eclipse4.6、CheckStyle7.3.0、CheckStyle5.5.0的configuration配置xml文件
在eclipse中使用checkstyle插件时,报无法初始化类:cannot initialize module StrictDuplicateCode - 无法初始化类: ‘StrictDuplicateCode’ eclipse错误信息如图:
com.puppycrawl.tools.checkstyle.api.CheckstyleException: cannot initialize module StrictDuplicateCode - 无法初始化类: 'StrictDuplicateCode' ,也无法初始化: com.puppycrawl.tools.checkstyle.checks.annotation.StrictDuplicateCode, com.puppycrawl.tools.checkstyle.checks.blocks.StrictDuplicateCode, com.puppycrawl.tools.checkstyle.checks.coding.StrictDuplicateCode, com.puppycrawl.tools.checkstyle.checks.design.StrictDuplicateCode, com.puppycrawl.tools.checkstyle.checks.header.StrictDuplicateCode, com.puppycrawl.tools.checkstyle.checks.imports.StrictDuplicateCode, com.puppycrawl.tools.checkstyle.checks.indentation.StrictDuplicateCode, com.puppycrawl.tools.checkstyle.checks.javadoc.StrictDuplicateCode, com.puppycrawl.tools.checkstyle.checks.metrics.StrictDuplicateCode, com.puppycrawl.tools.checkstyle.checks.modifier.StrictDuplicateCode, com.puppycrawl.tools.checkstyle.checks.naming.StrictDuplicateCode, com.puppycrawl.tools.checkstyle.checks.regexp.StrictDuplicateCode, com.puppycrawl.tools.checkstyle.checks.sizes.StrictDuplicateCode, com.puppycrawl.tools.checkstyle.checks.whitespace.StrictDuplicateCode, com.puppycrawl.tools.checkstyle.checks.StrictDuplicateCode, com.puppycrawl.tools.checkstyle.filefilters.StrictDuplicateCode, com.puppycrawl.tools.checkstyle.filters.StrictDuplicateCode, com.puppycrawl.tools.checkstyle.StrictDuplicateCode, StrictDuplicateCodeCheck, com.puppycrawl.tools.checkstyle.checks.annotation.StrictDuplicateCodeCheck, com.puppycrawl.tools.checkstyle.checks.blocks.StrictDuplicateCodeCheck, com.puppycrawl.tools.checkstyle.checks.coding.StrictDuplicateCodeCheck, com.puppycrawl.tools.checkstyle.checks.design.StrictDuplicateCodeCheck, com.puppycrawl.tools.checkstyle.checks.header.StrictDuplicateCodeCheck, com.puppycrawl.tools.checkstyle.checks.imports.StrictDuplicateCodeCheck, com.puppycrawl.tools.checkstyle.checks.indentation.StrictDuplicateCodeCheck, com.puppycrawl.tools.checkstyle.checks.javadoc.StrictDuplicateCodeCheck, com.puppycrawl.tools.checkstyle.checks.metrics.StrictDuplicateCodeCheck, com.puppycrawl.tools.checkstyle.checks.modifier.StrictDuplicateCodeCheck, com.puppycrawl.tools.checkstyle.checks.naming.StrictDuplicateCodeCheck, com.puppycrawl.tools.checkstyle.checks.regexp.StrictDuplicateCodeCheck, com.puppycrawl.tools.checkstyle.checks.sizes.StrictDuplicateCodeCheck, com.puppycrawl.tools.checkstyle.checks.whitespace.StrictDuplicateCodeCheck, com.puppycrawl.tools.checkstyle.checks.StrictDuplicateCodeCheck, com.puppycrawl.tools.checkstyle.filefilters.StrictDuplicateCodeCheck, com.puppycrawl.tools.checkstyle.filters.StrictDuplicateCodeCheck, com.puppycrawl.tools.checkstyle.StrictDuplicateCodeCheck。 请检查类名大小写,或阅读帮助手册中短名称配置部分: http://checkstyle.sourceforge.net/config.html#Packages. 同时,请检查Checker的ClassLoader是否配置正确。 at com.puppycrawl.tools.checkstyle.Checker.setupChild(Checker.java:430) at com.puppycrawl.tools.checkstyle.api.AutomaticBean.configure(AutomaticBean.java:141) at net.sf.eclipsecs.core.builder.CheckerFactory.createCheckerInternal(CheckerFactory.java:292) at net.sf.eclipsecs.core.builder.CheckerFactory.createChecker(CheckerFactory.java:128) at net.sf.eclipsecs.core.builder.Auditor.runAudit(Auditor.java:140) at net.sf.eclipsecs.core.builder.CheckstyleBuilder.handleBuildSelection(CheckstyleBuilder.java:300) at net.sf.eclipsecs.core.jobs.RunCheckstyleOnFilesJob.runInWorkspace(RunCheckstyleOnFilesJob.java:116) at org.eclipse.core.internal.resources.InternalWorkspaceJob.run(InternalWorkspaceJob.java:39) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55) Caused by: com.puppycrawl.tools.checkstyle.api.CheckstyleException: 无法初始化类: 'StrictDuplicateCode' ,也无法初始化: com.puppycrawl.tools.checkstyle.checks.annotation.StrictDuplicateCode, com.puppycrawl.tools.checkstyle.checks.blocks.StrictDuplicateCode, com.puppycrawl.tools.checkstyle.checks.coding.StrictDuplicateCode, com.puppycrawl.tools.checkstyle.checks.design.StrictDuplicateCode, com.puppycrawl.tools.checkstyle.checks.header.StrictDuplicateCode, com.puppycrawl.tools.checkstyle.checks.imports.StrictDuplicateCode, com.puppycrawl.tools.checkstyle.checks.indentation.StrictDuplicateCode, com.puppycrawl.tools.checkstyle.checks.javadoc.StrictDuplicateCode, com.puppycrawl.tools.checkstyle.checks.metrics.StrictDuplicateCode, com.puppycrawl.tools.checkstyle.checks.modifier.StrictDuplicateCode, com.puppycrawl.tools.checkstyle.checks.naming.StrictDuplicateCode, com.puppycrawl.tools.checkstyle.checks.regexp.StrictDuplicateCode, com.puppycrawl.tools.checkstyle.checks.sizes.StrictDuplicateCode, com.puppycrawl.tools.checkstyle.checks.whitespace.StrictDuplicateCode, com.puppycrawl.tools.checkstyle.checks.StrictDuplicateCode, com.puppycrawl.tools.checkstyle.filefilters.StrictDuplicateCode, com.puppycrawl.tools.checkstyle.filters.StrictDuplicateCode, com.puppycrawl.tools.checkstyle.StrictDuplicateCode, StrictDuplicateCodeCheck, com.puppycrawl.tools.checkstyle.checks.annotation.StrictDuplicateCodeCheck, com.puppycrawl.tools.checkstyle.checks.blocks.StrictDuplicateCodeCheck, com.puppycrawl.tools.checkstyle.checks.coding.StrictDuplicateCodeCheck, com.puppycrawl.tools.checkstyle.checks.design.StrictDuplicateCodeCheck, com.puppycrawl.tools.checkstyle.checks.header.StrictDuplicateCodeCheck, com.puppycrawl.tools.checkstyle.checks.imports.StrictDuplicateCodeCheck, com.puppycrawl.tools.checkstyle.checks.indentation.StrictDuplicateCodeCheck, com.puppycrawl.tools.checkstyle.checks.javadoc.StrictDuplicateCodeCheck, com.puppycrawl.tools.checkstyle.checks.metrics.StrictDuplicateCodeCheck, com.puppycrawl.tools.checkstyle.checks.modifier.StrictDuplicateCodeCheck, com.puppycrawl.tools.checkstyle.checks.naming.StrictDuplicateCodeCheck, com.puppycrawl.tools.checkstyle.checks.regexp.StrictDuplicateCodeCheck, com.puppycrawl.tools.checkstyle.checks.sizes.StrictDuplicateCodeCheck, com.puppycrawl.tools.checkstyle.checks.whitespace.StrictDuplicateCodeCheck, com.puppycrawl.tools.checkstyle.checks.StrictDuplicateCodeCheck, com.puppycrawl.tools.checkstyle.filefilters.StrictDuplicateCodeCheck, com.puppycrawl.tools.checkstyle.filters.StrictDuplicateCodeCheck, com.puppycrawl.tools.checkstyle.StrictDuplicateCodeCheck。 请检查类名大小写,或阅读帮助手册中短名称配置部分: http://checkstyle.sourceforge.net/config.html#Packages. 同时,请检查Checker的ClassLoader是否配置正确。 at com.puppycrawl.tools.checkstyle.PackageObjectFactory.createModule(PackageObjectFactory.java:118) at com.puppycrawl.tools.checkstyle.Checker.setupChild(Checker.java:420) ... 8 morecheckstyle(eclipse-cs)在版本升级过程中,某些检查被删除(如:StrictDuplicateCode, RedundantThrows等)。
方法一:更新Checkstyle配置,删除现在不存在的检查。 打开Checkstyle配置文件,删除或注释掉StrictDuplicateCode模块,然后重新导入。 如下:
<!-- Duplicate code - 冗余代码检查 --> <!-- 冗余代码检查可检测通过复制/粘贴产生的重复代码 --> <!-- 注释掉下面这段 <module name="StrictDuplicateCode"> <property name="min" value="15" /> </module> -->方法二:降低eclipse中安装的checkst(eclipse-cs)的版本,使其能适应你的Checkstyle配置。