我正在尝试添加
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-pmd-plugin</artifactId>
<version>3.9.0</version>
<executions>
<execution>
<id>pmd-check</id>
<phase>validate</phase>
<goals>
<goal>check</goal>
</goals>
</execution>
</executions>
<configuration>
<printFailingErrors>true</printFailingErrors>
<rulesets>
<ruleset>code-analysis/ruleset.xml</ruleset>
</rulesets>
</configuration>
</plugin>
ruleset.xml
<?xml version="1.0"?>
<ruleset name="Custom ruleset"
xmlns="http://pmd.sourceforge.net/ruleset/2.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://pmd.sourceforge.net/ruleset/2.0.0 http://pmd.sourceforge.net/ruleset_2_0_0.xsd">
<description>
The default ruleset
</description>
<rule ref="rulesets/java/strings.xml">
<exclude name="AvoidDuplicateLiterals"/>
</rule>
<rule ref="rulesets/java/strings.xml/AvoidDuplicateLiterals">
<properties>
<property name="skipAnnotations" value="true"/>
</properties>
</rule>
<rule ref="rulesets/java/unusedcode.xml"/>
<rule ref="rulesets/java/strictexception.xml"/>
</ruleset>
到Primefaces'由于
而失败的POM运行无法在项目primefaces上执行目标org.apache.maven.plugins:maven-pmd-plugin:3.9.0:pmd(pmd):目标org.apache.maven.plugins的执行pmd:maven-pmd-plugin :3.9.0:pmd失败:执行org.apache.maven.plugins时遇到API不兼容:maven-pmd-plugin:3.9.0:pmd:java.lang.ClassFormatError:方法中缺少Code属性非本机或类文件中的抽象javax / faces / application / FacesMessage $ Severity
mvn validate
(或mvn clean install
)时。
在服务器上部署Java EE应用程序时,如何处理此特定错误有很多解释,但这使得很难找到可能适用于插件执行的方法。
将java.lang.ClassFormatError: Absent Code attribute in method that is not native or abstract in class file javax/faces/webapp/FacesServlet中建议的依赖项的任意组合添加到插件的dependencies
不会更改错误。
我注意到3.5.2发生了错误,但3.3.9没有发生错误,但是我发现这可能是Maven错误的失败。
我正在使用使用PMD 7.0.0的maven-pmd-plugin 3.9.0。