cannot initialize module StrictDuplicateCode - 无法初始化类: 'StrictDuplicateCode'

r囧r小猫 2022-09-27 09:15 215阅读 0赞

环境:

eclipse4.6、CheckStyle7.3.0、CheckStyle5.5.0的configuration配置xml文件

错误信息:

在eclipse中使用checkstyle插件时,报无法初始化类:cannot initialize module StrictDuplicateCode - 无法初始化类: ‘StrictDuplicateCode’
eclipse错误信息如图:
这里写图片描述

这里写图片描述

这里写图片描述

  1. 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是否配置正确。
  2. at com.puppycrawl.tools.checkstyle.Checker.setupChild(Checker.java:430)
  3. at com.puppycrawl.tools.checkstyle.api.AutomaticBean.configure(AutomaticBean.java:141)
  4. at net.sf.eclipsecs.core.builder.CheckerFactory.createCheckerInternal(CheckerFactory.java:292)
  5. at net.sf.eclipsecs.core.builder.CheckerFactory.createChecker(CheckerFactory.java:128)
  6. at net.sf.eclipsecs.core.builder.Auditor.runAudit(Auditor.java:140)
  7. at net.sf.eclipsecs.core.builder.CheckstyleBuilder.handleBuildSelection(CheckstyleBuilder.java:300)
  8. at net.sf.eclipsecs.core.jobs.RunCheckstyleOnFilesJob.runInWorkspace(RunCheckstyleOnFilesJob.java:116)
  9. at org.eclipse.core.internal.resources.InternalWorkspaceJob.run(InternalWorkspaceJob.java:39)
  10. at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
  11. 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是否配置正确。
  12. at com.puppycrawl.tools.checkstyle.PackageObjectFactory.createModule(PackageObjectFactory.java:118)
  13. at com.puppycrawl.tools.checkstyle.Checker.setupChild(Checker.java:420)
  14. ... 8 more

问题原因

checkstyle(eclipse-cs)在版本升级过程中,某些检查被删除(如:StrictDuplicateCode, RedundantThrows等)。

解决方法

方法一:更新Checkstyle配置,删除现在不存在的检查。
打开Checkstyle配置文件,删除或注释掉StrictDuplicateCode模块,然后重新导入。
如下:

  1. <!-- Duplicate code - 冗余代码检查 -->
  2. <!-- 冗余代码检查可检测通过复制/粘贴产生的重复代码 -->
  3. <!-- 注释掉下面这段 <module name="StrictDuplicateCode"> <property name="min" value="15" /> </module> -->

方法二:降低eclipse中安装的checkst(eclipse-cs)的版本,使其能适应你的Checkstyle配置。

发表评论

表情:
评论列表 (有 0 条评论,215人围观)

还没有评论,来说两句吧...

相关阅读