PMD使用问题记录

1 通过pmd-cli源码调试时,需要确保需要调试的模块在pom.xml中的scope不是test。

        设置参数后运行,将报找不到category/java/bestpractices.xml 的错误。

将scope注释即可,如果调试其他模块功能,注释对应模块即可。

2  pmd规则文件中描述修改为中文乱码问题

        例如修改category/java/codestyle.xml中的描述为中文后,检测报告中的问题描述信息显示乱码。需要设置环境变量PMD_JAVA_OPTS值为-Dfile.encoding=UTF-8 即可解决问题。

    <rule name="AtLeastOneConstructor"
          language="java"
          since="1.04"
          message="每个类应至少声明一个构造函数"
          class="net.sourceforge.pmd.lang.java.rule.codestyle.AtLeastOneConstructorRule"
          externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_codestyle.html#atleastoneconstructor">
        <description>
<![CDATA[
每个非静态类应至少声明一个构造函数。
仅具有静态成员的类将被忽略,请参阅 [UseUtilityClassRule](pmd_rules_java_design.html#useutilityclass) 来检测这些类。
]]>
        </description>
        <priority>3</priority>
        <example>
<![CDATA[
public class Foo {
   // missing constructor
  public void doSomething() { ... }
  public void doOtherThing { ... }
}
]]>
        </example>
    </rule>

        环境变量设置

        如果cmd窗口显示乱码,可能是cmd窗口需要设置编码。

chcp 65001

  65001 是 UTF-8 编码页。更改编码后,CMD 应该能够正确显示中文字符。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值