gpt4 book ai didi

java - 生成 Checkstyle 报告(带有扩展检查)

转载 作者:行者123 更新时间:2023-12-01 04:25:39 25 4
gpt4 key购买 nike

我有一些自己的扩展检查。我已将它们导出为插件,并且在 Eclipse 中,它们显示警告/错误。所以扩展检查工作正常。

现在我想生成 HTML 格式的违规报告。

我有checked this ,如果 rule.xml 文件中未包含扩展检查,则此方法可以正常工作。但在扩展检查的情况下,ant 构建会给出错误。

错误是:

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 以便我获得所需的结果?

最佳答案

我找到了以下解决方案,效果很好。

  1. 提取checkstyle-x.x-all.jar
  2. 复制解压目录中的扩展类
  3. 将扩展检查的元数据、消息和属性文件复制到同一目录中。
  4. 如果任何文件已经存在,则编辑该文件并添加扩展检查中的内容。
  5. 创建一个包含所有这些内容的新 .jar 文件。
  6. 在 ant build.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>

现在构建文件已成功运行,并且在报告中我也违反了扩展检查。

关于java - 生成 Checkstyle 报告(带有扩展检查),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18529117/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com