gpt4 book ai didi

java - 从 Maven 插件中的 PMD 中删除单个规则检查

转载 作者:搜寻专家 更新时间:2023-10-30 20:02:32 25 4
gpt4 key购买 nike

我想在 POM 中排除单个 PMD 规则,但它不起作用。我尝试创建一个 pmd-exclude.xml(在与 pom.xml 相同的目录中):

<?xml version="1.0"?>
<ruleset name="remove_rules">
<description>Remove rules</description>
<rule ref="rulesets/unnecessary.xml">
<exclude name="UselessParentheses"/>
</rule>
</ruleset>

来自 http://www.ing.iac.es/~docs/external/java/pmd/howtomakearuleset.html并在 pom.xml 中引用它:

<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-pmd-plugin</artifactId>
<version>3.0.1</version>
<configuration>
<sourceEncoding>utf-8</sourceEncoding>
<rulesets>
<ruleset>${pom.basedir}/pmd-exclude.xml</ruleset>
</rulesets>
</configuration>
</plugin>

但它会不断报告这些规则。

另外:我不想指定它必须检查哪些规则,因为新版本可以(并且将会)包含新规则,而且我不想检查每个新版本中将运行哪些新规则。

最佳答案

我认为您需要添加要检查的规则集并仅丢弃不需要的特定规则。

pmd-exclude.xml 应该如下所示:

<?xml version="1.0" encoding="UTF-8"?>
<ruleset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
name="Android Application Rules"
xmlns="http://pmd.sf.net/ruleset/1.0.0"
xsi:noNamespaceSchemaLocation="http://pmd.sf.net/ruleset_xml_schema.xsd"
xsi:schemaLocation="http://pmd.sf.net/ruleset/1.0.0 http://pmd.sf.net/ruleset_xml_schema.xsd" >

<description>Remove rules</description>

<rule ref="rulesets/clone.xml" />
<rule ref="rulesets/finalizers.xml" />
<rule ref="rulesets/imports.xml" />
<rule ref="rulesets/logging-java.xml" />
<rule ref="rulesets/unnecessary.xml" >
<exclude name="UselessParentheses" />
</rule>

</ruleset>

关于java - 从 Maven 插件中的 PMD 中删除单个规则检查,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16021453/

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