PMD 或 Checkstyle 检查以禁止使用某些 类
PMD or Checkstyle check to prohibit usage of certain classes
是否有任何可用的 PMD 或 Checkstyle 规则可以帮助我禁止在 Java 代码中使用某些 类?
就我而言,我想在所有可能的情况下禁止以下所有内容:
org.apache.commons.lang3.CharEncoding
org.apache.commons.lang.CharEncoding
org.apache.commons.codec.CharEncoding
我找到了 IllegalImport 检查,但它是关于软件包的,而不是特定的 类。
您可以尝试使用这些 pmd 扩展来黑名单 类 和方法:https://github.com/LiveRamp/pmd_extensions
对于PMD你可以这样写规则:
<rule name="Prohibited classes"
language="java"
message="Avoid using these classes."
class="net.sourceforge.pmd.lang.rule.XPathRule" >
<description>
Avoid using these classes, there are better alternatives.
</description>
<priority>3</priority>
<properties>
<property name="xpath">
<value>
<![CDATA[
//Name[pmd-java:typeIs('org.apache.commons.lang3.CharEncoding')] |
//Name[pmd-java:typeIs('org.apache.commons.lang.CharEncoding')] |
//Name[pmd-java:typeIs('org.apache.commons.codec.CharEncoding')]
]]>
</value>
</property>
</properties>
</rule>
或//Name[starts-with(@Image, 'com.sun.')]
禁止包导入。
是否有任何可用的 PMD 或 Checkstyle 规则可以帮助我禁止在 Java 代码中使用某些 类?
就我而言,我想在所有可能的情况下禁止以下所有内容:
org.apache.commons.lang3.CharEncoding
org.apache.commons.lang.CharEncoding
org.apache.commons.codec.CharEncoding
我找到了 IllegalImport 检查,但它是关于软件包的,而不是特定的 类。
您可以尝试使用这些 pmd 扩展来黑名单 类 和方法:https://github.com/LiveRamp/pmd_extensions
对于PMD你可以这样写规则:
<rule name="Prohibited classes"
language="java"
message="Avoid using these classes."
class="net.sourceforge.pmd.lang.rule.XPathRule" >
<description>
Avoid using these classes, there are better alternatives.
</description>
<priority>3</priority>
<properties>
<property name="xpath">
<value>
<![CDATA[
//Name[pmd-java:typeIs('org.apache.commons.lang3.CharEncoding')] |
//Name[pmd-java:typeIs('org.apache.commons.lang.CharEncoding')] |
//Name[pmd-java:typeIs('org.apache.commons.codec.CharEncoding')]
]]>
</value>
</property>
</properties>
</rule>
或//Name[starts-with(@Image, 'com.sun.')]
禁止包导入。