生成检查样式报告(带有扩展检查)



我有一些自己的扩展检查。我已经将它们导出为插件,在Eclipse中,它们显示警告/错误。因此,扩展检查运行良好。

现在,我想以HTML格式生成一个违规报告。

我已经检查了这个,如果rule.xml文件中没有包含扩展检查,这就可以正常工作。但在扩展检查的情况下,ant构建会给出错误。

错误为:

BUILD FAILED
D:Java_WorkJUnit_CheckStylebuildCheckStyle.xml:12: Unable to create a Checker: cannot initialize module TreeWalker - Unable to instantiate InterfaceModifier

InterfaceModifier是我的扩展检查,它在eclipse中运行良好。

在build.xml中,在哪里提供extendedCheck.jar以便获得所需的结果?

我找到了以下解决方案,它运行良好。

  1. 提取checkstyle-x.x-all.jar
  2. 复制提取目录中的扩展类
  3. 将扩展检查的元数据、消息和属性文件复制到同一目录中
  4. 如果任何文件已经存在,则编辑该文件并添加扩展检查中的内容
  5. 创建一个包含所有这些的新.jar文件
  6. 在antbuild.xml <taskdef>中,将此.jar设置为classpath

就像,在完成第二步之后,我发现checkstyle_packages.xml已经存在,所以我编辑了它,并在适当的位置添加了扩展包中的内容。


上一版本

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE checkstyle-packages PUBLIC
    "-//Puppy Crawl//DTD Package Names 1.0//EN"
    "http://www.puppycrawl.com/dtds/packages_1_0.dtd">
<checkstyle-packages>
  <package name="com.puppycrawl.tools.checkstyle">
    <package name="checks">
      <package name="annotation"/>
      <package name="blocks"/>
      <package name="coding"/>
      <package name="design"/>
      <package name="duplicates"/>
      <package name="header"/>
      <package name="imports"/>
      <package name="indentation"/>
      <package name="javadoc"/>
      <package name="metrics"/>
      <package name="modifier"/>
      <package name="naming"/>
      <package name="regexp"/>
      <package name="sizes"/>
      <package name="whitespace"/>
    </package>
    <package name="filters"/>
  </package>
</checkstyle-packages>

更改的版本

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE checkstyle-packages PUBLIC
    "-//Puppy Crawl//DTD Package Names 1.0//EN"
    "http://www.puppycrawl.com/dtds/packages_1_0.dtd">
<checkstyle-packages>
  <package name="com.puppycrawl.tools.checkstyle">
    <package name="checks">
      <package name="annotation"/>
      <package name="blocks"/>
      <package name="coding"/>
      <package name="design"/>
      <package name="duplicates"/>
      <package name="header"/>
      <package name="imports"/>
      <package name="indentation"/>
      <package name="javadoc"/>
      <package name="metrics"/>
      <package name="modifier"/>
      <package name="naming"/>
      <package name="regexp"/>
      <package name="sizes"/>
      <package name="whitespace"/>
    </package>
    <package name="filters"/>
  </package>
  <!-- Added this lines -->
  <package name="myCheck">
    <package name="checks"/>
  </package>
  <!--                  -->
</checkstyle-packages>

现在构建文件正在成功运行,在报告中我也遇到了违反扩展检查的情况。

相关内容

  • 没有找到相关文章

最新更新