Generating Checkstyle Reports (with extended checks)
我有一些自己的扩展支票。我已经将它们导出为插件,并且在Eclipse中,它们显示警告/错误。因此,扩展检查可以正常工作。
现在我想以HTML格式生成违规报告。
我已经检查了这一点,如果rule.xml文件中未包含任何扩展检查,则此方法很好用。但是在进行扩展检查的情况下,ant构建会给出错误。
错误是:
1 2 | BUILD FAILED D:\\Java_Work\\JUnit_CheckStyle\\buildCheckStyle.xml:12: Unable to create a Checker: cannot initialize module TreeWalker - Unable to instantiate InterfaceModifier |
InterfaceModifier是我的扩展检查,在eclipse中工作正常。
在build.xml中,何处提供extendedCheck.jar,以便获得所需的结果?
我发现了以下解决方案,效果很好。
就像完成第二步之后,我发现checkstyle_packages.xml已经存在,因此我对其进行了编辑,并将扩展的内容添加到了适当的位置。
以前的版本:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | <?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> |
更改的版本:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | <?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> |
现在构建文件正在成功运行,并且在报告中我也违反了扩展检查。