gpt4 book ai didi

java - 如何在 Eclipse 中使用 PMD Ant 从文件夹运行所有规则集?

转载 作者:搜寻专家 更新时间:2023-10-31 19:39:59 24 4
gpt4 key购买 nike

我正在尝试运行 PMD来自 AntEclipse当我构建项目时。

这是我的 build.xml 文件:

<taskdef name="pmd" classname="net.sourceforge.pmd.ant.PMDTask"/>

<target name="check_pmd">
<pmd rulesetfiles="C:\Users\Nikolay\ProjectName\lib\rulesets\java\basic.xml">
<formatter type="html" toFile="pmd_report.html" toConsole="true"/>
<fileset dir="C:\Users\Nikolay\ProjectName\src">
<include name="**/*.java"/>
</fileset>
</pmd>
</target>

它适用于 basic.xml , 但我想为 java 中的所有规则集运行文件夹(它有大约 20 个规则集)所以我尝试过:

<pmd rulesetfiles="C:\Users\Nikolay\ProjectName\lib\rulesets\java\*.xml">
<pmd rulesetfiles="C:\Users\Nikolay\ProjectName\lib\rulesets\java\*">

但是当我尝试运行时,它们都失败了。 有没有办法在不手动指定文件列表的情况下指定文件夹,而不是单个文件?

供以后读者在Eclipse下配置Ant PMD:

  • 下载pmd-bin.zip来自官网
  • 解压pmd.jar , jaxen.jarasm.jar
  • 将上面的 jars 添加到 Window - Preferences - Ant - Runtime - Ant Home Entries - Add External JARs
  • 解压rulesets文件夹
  • 规则集的引用位置来自 <pmd rulesetfiles=...>

最佳答案

(来自 coolfan 的 ant 任务的扩展答案)

PMD 规则集文件的文档说它是 comma separated list of files.

rulesetfiles A comma delimited list of ruleset files ('rulesets/basic.xml,rulesets/design.xml'). If you write your own ruleset files, you can put them on the classpath and plug them in here. Yes, unless the ruleset nested element is used

Ant 提供了一种将文件集转换成这种格式的方法。 The task is pathconvert

这是一个来自网站的例子

<fileset dir="${src.dir}" id="src.files">
<include name="**/*.java"/>
</fileset>

<pathconvert pathsep="," property="javafiles" refid="src.files"/>

关于java - 如何在 Eclipse 中使用 PMD Ant 从文件夹运行所有规则集?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15292481/

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