[英]java.lang.NoSuchMethodError thrown by Maven PMD Plugin 3.18.0
I am working on a long running multi-module Maven Java project.我正在研究一个长期运行的多模块 Maven Java 项目。 I tried to update the PMD plugin from 3.17.0 to 3.18.0, but I get a java.lang.NoSuchMethodError from PMD almost immediately.我尝试将 PMD 插件从 3.17.0 更新到 3.18.0,但我几乎立即从 PMD 获得了 java.lang.NoSuchMethodError。 The 3.17.0 version of the PMD plugin works fine on this project and I havent found anything in the release notes that helps me understand the error. PMD 插件的 3.17.0 版本在这个项目上运行良好,我在发行说明中没有找到任何可以帮助我理解错误的内容。 Hoping something here understands the PMD plugin or the error and can orient me towards the root issue.希望这里的某些东西能够理解 PMD 插件或错误,并可以引导我解决根本问题。 The project is built using Maven 3.5, JKD 11 with a compile target of JDK8.该项目使用 Maven 3.5、JKD 11 构建,编译目标为 JDK8。 PMD version is 6.48.0 PMD 版本为 6.48.0
POM snippet and error output below. POM 片段和错误 output 下面。
<artifactId>maven-pmd-plugin</artifactId>
<version>${pmd.plugin.version}</version>
<executions>
<execution>
<phase>verify</phase>
<goals>
<goal>check</goal>
<goal>cpd-check</goal>
</goals>
</execution>
</executions>
<configuration>
<skip>${skip.analyze}</skip>
<analysisCache>true</analysisCache>
<analysisCacheLocation>${project.build.directory}/pmd/pmd.cache</analysisCacheLocation>
<failOnViolation>false</failOnViolation>
<rulesets>
<ruleset>../ruleset.xml</ruleset>
</rulesets>
<printFailingErrors>false</printFailingErrors>
<linkXRef>false</linkXRef>
<targetJdk>1.8</targetJdk>
</configuration>
<dependencies>
<dependency>
<groupId>net.sourceforge.pmd</groupId>
<artifactId>pmd-core</artifactId>
<version>${pmd.version}</version>
</dependency>
<dependency>
<groupId>net.sourceforge.pmd</groupId>
<artifactId>pmd-java</artifactId>
<version>${pmd.version}</version>
</dependency>
<dependency>
<groupId>net.sourceforge.pmd</groupId>
<artifactId>pmd-javascript</artifactId>
<version>${pmd.version}</version>
</dependency>
<dependency>
<groupId>net.sourceforge.pmd</groupId>
<artifactId>pmd-jsp</artifactId>
<version>${pmd.version}</version>
</dependency>
<dependency>
<groupId>net.sourceforge.pmd</groupId>
<artifactId>pmd-apex</artifactId>
<version>${pmd.version}</version>
</dependency>
<dependency>
<groupId>net.sourceforge.pmd</groupId>
<artifactId>pmd-visualforce</artifactId>
<version>${pmd.version}</version>
</dependency>
</dependencies>
</plugin>```
Command: mvn pmd:check
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-pmd-plugin:3.18.0:pmd (pmd) on project test-utils: Execution pmd of goal org.apache.maven.plugins:maven-pmd-plugin:3.18.0:pmd failed: An API incompatibility was encountered while executing org.apache.maven.plugins:maven-pmd-plugin:3.18.0:pmd: java.lang.NoSuchMethodError: org.fusesource.jansi.AnsiConsole.out()Lorg/fusesource/jansi/AnsiPrintStream;
[ERROR] -----------------------------------------------------
[ERROR] realm = plugin>org.apache.maven.plugins:maven-pmd-plugin:3.18.0
[ERROR] strategy = org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy
[ERROR] urls[0] = file:/Users/john.camerin/.m2/repository/org/apache/maven/plugins/maven-pmd-plugin/3.18.0/maven-pmd-plugin-3.18.0.jar
[ERROR] urls[1] = file:/Users/john.camerin/.m2/repository/org/apache/maven/shared/maven-artifact-transfer/0.13.1/maven-artifact-transfer-0.13.1.jar
[ERROR] urls[2] = file:/Users/john.camerin/.m2/repository/org/sonatype/aether/aether-util/1.7/aether-util-1.7.jar
[ERROR] urls[3] = file:/Users/john.camerin/.m2/repository/org/sonatype/sisu/sisu-inject-bean/1.4.2/sisu-inject-bean-1.4.2.jar
[ERROR] urls[4] = file:/Users/john.camerin/.m2/repository/org/sonatype/sisu/sisu-guice/2.1.7/sisu-guice-2.1.7-noaop.jar
[ERROR] urls[5] = file:/Users/john.camerin/.m2/repository/org/codehaus/plexus/plexus-interpolation/1.14/plexus-interpolation-1.14.jar
[ERROR] urls[6] = file:/Users/john.camerin/.m2/repository/org/sonatype/plexus/plexus-sec-dispatcher/1.3/plexus-sec-dispatcher-1.3.jar
[ERROR] urls[7] = file:/Users/john.camerin/.m2/repository/org/sonatype/plexus/plexus-cipher/1.4/plexus-cipher-1.4.jar
[ERROR] urls[8] = file:/Users/john.camerin/.m2/repository/org/codehaus/plexus/plexus-component-annotations/2.1.1/plexus-component-annotations-2.1.1.jar
[ERROR] urls[9] = file:/Users/john.camerin/.m2/repository/org/apache/maven/shared/maven-common-artifact-filters/3.3.1/maven-common-artifact-filters-3.3.1.jar
[ERROR] urls[10] = file:/Users/john.camerin/.m2/repository/commons-io/commons-io/2.11.0/commons-io-2.11.0.jar
[ERROR] urls[11] = file:/Users/john.camerin/.m2/repository/org/apache/commons/commons-lang3/3.12.0/commons-lang3-3.12.0.jar
[ERROR] urls[12] = file:/Users/john.camerin/.m2/repository/net/sourceforge/pmd/pmd-core/6.48.0/pmd-core-6.48.0.jar
[ERROR] urls[13] = file:/Users/john.camerin/.m2/repository/org/antlr/antlr4-runtime/4.7.2/antlr4-runtime-4.7.2.jar
[ERROR] urls[14] = file:/Users/john.camerin/.m2/repository/com/beust/jcommander/1.48/jcommander-1.48.jar
[ERROR] urls[15] = file:/Users/john.camerin/.m2/repository/net/sourceforge/saxon/saxon/9.1.0.8/saxon-9.1.0.8.jar
[ERROR] urls[16] = file:/Users/john.camerin/.m2/repository/org/ow2/asm/asm/9.3/asm-9.3.jar
[ERROR] urls[17] = file:/Users/john.camerin/.m2/repository/com/google/code/gson/gson/2.8.9/gson-2.8.9.jar
[ERROR] urls[18] = file:/Users/john.camerin/.m2/repository/net/sourceforge/saxon/saxon/9.1.0.8/saxon-9.1.0.8-dom.jar
[ERROR] urls[19] = file:/Users/john.camerin/.m2/repository/net/sourceforge/pmd/pmd-java/6.48.0/pmd-java-6.48.0.jar
[ERROR] urls[20] = file:/Users/john.camerin/.m2/repository/net/sourceforge/pmd/pmd-javascript/6.48.0/pmd-javascript-6.48.0.jar
[ERROR] urls[21] = file:/Users/john.camerin/.m2/repository/org/mozilla/rhino/1.7.14/rhino-1.7.14.jar
[ERROR] urls[22] = file:/Users/john.camerin/.m2/repository/net/sourceforge/pmd/pmd-jsp/6.48.0/pmd-jsp-6.48.0.jar
[ERROR] urls[23] = file:/Users/john.camerin/.m2/repository/org/slf4j/jul-to-slf4j/1.7.36/jul-to-slf4j-1.7.36.jar
[ERROR] urls[24] = file:/Users/john.camerin/.m2/repository/org/apache/maven/doxia/doxia-sink-api/1.11.1/doxia-sink-api-1.11.1.jar
[ERROR] urls[25] = file:/Users/john.camerin/.m2/repository/org/apache/maven/doxia/doxia-logging-api/1.11.1/doxia-logging-api-1.11.1.jar
[ERROR] urls[26] = file:/Users/john.camerin/.m2/repository/org/apache/maven/doxia/doxia-decoration-model/1.11.1/doxia-decoration-model-1.11.1.jar
[ERROR] urls[27] = file:/Users/john.camerin/.m2/repository/org/apache/maven/doxia/doxia-site-renderer/1.11.1/doxia-site-renderer-1.11.1.jar
[ERROR] urls[28] = file:/Users/john.camerin/.m2/repository/org/apache/maven/doxia/doxia-core/1.11.1/doxia-core-1.11.1.jar
[ERROR] urls[29] = file:/Users/john.camerin/.m2/repository/org/apache/commons/commons-text/1.3/commons-text-1.3.jar
[ERROR] urls[30] = file:/Users/john.camerin/.m2/repository/org/apache/httpcomponents/httpcore/4.4.14/httpcore-4.4.14.jar
[ERROR] urls[31] = file:/Users/john.camerin/.m2/repository/org/apache/maven/doxia/doxia-skin-model/1.11.1/doxia-skin-model-1.11.1.jar
[ERROR] urls[32] = file:/Users/john.camerin/.m2/repository/org/apache/maven/doxia/doxia-module-xhtml/1.11.1/doxia-module-xhtml-1.11.1.jar
[ERROR] urls[33] = file:/Users/john.camerin/.m2/repository/org/apache/maven/doxia/doxia-module-xhtml5/1.11.1/doxia-module-xhtml5-1.11.1.jar
[ERROR] urls[34] = file:/Users/john.camerin/.m2/repository/org/codehaus/plexus/plexus-i18n/1.0-beta-10/plexus-i18n-1.0-beta-10.jar
[ERROR] urls[35] = file:/Users/john.camerin/.m2/repository/junit/junit/3.8.1/junit-3.8.1.jar
[ERROR] urls[36] = file:/Users/john.camerin/.m2/repository/org/codehaus/plexus/plexus-velocity/1.2/plexus-velocity-1.2.jar
[ERROR] urls[37] = file:/Users/john.camerin/.m2/repository/org/apache/velocity/velocity/1.7/velocity-1.7.jar
[ERROR] urls[38] = file:/Users/john.camerin/.m2/repository/commons-lang/commons-lang/2.4/commons-lang-2.4.jar
[ERROR] urls[39] = file:/Users/john.camerin/.m2/repository/org/apache/velocity/velocity-tools/2.0/velocity-tools-2.0.jar
[ERROR] urls[40] = file:/Users/john.camerin/.m2/repository/commons-beanutils/commons-beanutils/1.7.0/commons-beanutils-1.7.0.jar
[ERROR] urls[41] = file:/Users/john.camerin/.m2/repository/commons-digester/commons-digester/1.8/commons-digester-1.8.jar
[ERROR] urls[42] = file:/Users/john.camerin/.m2/repository/commons-chain/commons-chain/1.1/commons-chain-1.1.jar
[ERROR] urls[43] = file:/Users/john.camerin/.m2/repository/commons-logging/commons-logging/1.1/commons-logging-1.1.jar
[ERROR] urls[44] = file:/Users/john.camerin/.m2/repository/dom4j/dom4j/1.1/dom4j-1.1.jar
[ERROR] urls[45] = file:/Users/john.camerin/.m2/repository/oro/oro/2.0.8/oro-2.0.8.jar
[ERROR] urls[46] = file:/Users/john.camerin/.m2/repository/commons-collections/commons-collections/3.2.2/commons-collections-3.2.2.jar
[ERROR] urls[47] = file:/Users/john.camerin/.m2/repository/org/apache/maven/reporting/maven-reporting-api/3.1.1/maven-reporting-api-3.1.1.jar
[ERROR] urls[48] = file:/Users/john.camerin/.m2/repository/org/apache/maven/reporting/maven-reporting-impl/3.2.0/maven-reporting-impl-3.2.0.jar
[ERROR] urls[49] = file:/Users/john.camerin/.m2/repository/javax/annotation/javax.annotation-api/1.2/javax.annotation-api-1.2.jar
[ERROR] urls[50] = file:/Users/john.camerin/.m2/repository/javax/enterprise/cdi-api/1.2/cdi-api-1.2.jar
[ERROR] urls[51] = file:/Users/john.camerin/.m2/repository/org/eclipse/sisu/org.eclipse.sisu.inject/0.3.5/org.eclipse.sisu.inject-0.3.5.jar
[ERROR] urls[52] = file:/Users/john.camerin/.m2/repository/org/apache/maven/doxia/doxia-integration-tools/1.11.1/doxia-integration-tools-1.11.1.jar
[ERROR] urls[53] = file:/Users/john.camerin/.m2/repository/org/apache/maven/shared/maven-shared-utils/3.3.4/maven-shared-utils-3.3.4.jar
[ERROR] urls[54] = file:/Users/john.camerin/.m2/repository/org/codehaus/plexus/plexus-resources/1.2.0/plexus-resources-1.2.0.jar
[ERROR] urls[55] = file:/Users/john.camerin/.m2/repository/org/codehaus/plexus/plexus-utils/3.3.0/plexus-utils-3.3.0.jar
[ERROR] Number of foreign imports: 1
[ERROR] import: Entry[import from realm ClassRealm[project>com.messagegears:accelerator-parent:22.2.1.0-SNAPSHOT, parent: ClassRealm[maven.api, parent: null]]]
Please see the discussion here: https://issues.apache.org/jira/browse/MPMD-353请参阅此处的讨论: https://issues.apache.org/jira/browse/MPMD-353
In short, you have the following options:简而言之,您有以下选择:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.