运行mvn checkstyle时出错:checkstyle

siv*_*nvi 2 java plugins eclipse-plugin checkstyle maven

执行命令时出现以下错误mvn checkstyle:checkstyle:

An error has occurred in Checkstyle report generation.
...
Caused by: com.puppycrawl.tools.checkstyle.api.CheckstyleException: cannot initialize module TreeWalker - Unable to instantiate GenericIllegalRegexp
    at com.puppycrawl.tools.checkstyle.Checker.setupChild(Checker.java:178)
    at com.puppycrawl.tools.checkstyle.api.AutomaticBean.configure(AutomaticBean.java:184)
    at org.apache.maven.plugin.checkstyle.DefaultCheckstyleExecutor.executeCheckstyle(DefaultCheckstyleExecutor.java:170)
    at org.apache.maven.plugin.checkstyle.AbstractCheckstyleReport.executeReport(AbstractCheckstyleReport.java:259)
    ... 24 more
Caused by: com.puppycrawl.tools.checkstyle.api.CheckstyleException: Unable to instantiate GenericIllegalRegexp
    at com.puppycrawl.tools.checkstyle.PackageObjectFactory.createModule(PackageObjectFactory.java:155)
    at com.puppycrawl.tools.checkstyle.TreeWalker.setupChild(TreeWalker.java:161)
    at com.puppycrawl.tools.checkstyle.api.AutomaticBean.configure(AutomaticBean.java:184)
    at com.puppycrawl.tools.checkstyle.Checker.setupChild(Checker.java:157)
... 27 more
Caused by: com.puppycrawl.tools.checkstyle.api.CheckstyleException: Unable to instantiate GenericIllegalRegexpCheck
    at com.puppycrawl.tools.checkstyle.PackageObjectFactory.doMakeObject(PackageObjectFactory.java:98)
    at com.puppycrawl.tools.checkstyle.PackageObjectFactory.createModule(PackageObjectFactory.java:152)
    ... 30 more
Run Code Online (Sandbox Code Playgroud)

我猜这个错误与使用旧版checkstyle创建的规则有关.

pom.xml中的checkstyle插件配置是:

...
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
<version>2.9.1</version>
<configuration>
    <configLocation>checkstyle.xml</configLocation>
    <headerLocation>LICENSE.txt</headerLocation>
</configuration>
</plugin>
...
Run Code Online (Sandbox Code Playgroud)

是否有一种方法或工具来迁移规则以使它们与checkstyle 5.5兼容?(除了基于checkstyle文档概述每条规则的规则)

siv*_*nvi 7

我设法摆脱修改规则的xml的特殊异常.
我换了:

<module name="GenericIllegalRegexp">
  <property name="format" value="\s+$"/>
  <property name="message" value="Line has trailing spaces."/>
  <property name="ignoreComments" value="true"/>
</module>
Run Code Online (Sandbox Code Playgroud)

<module name="RegexpSinglelineJava">
  <property name="format" value="\s+$"/>
  <property name="message" value="Line has trailing spaces."/>
  <property name="ignoreComments" value="true"/>
</module>
Run Code Online (Sandbox Code Playgroud)

希望我帮助有同样问题的人.问候.