简体   繁体   English

Maven PMD 插件 3.18.0 抛出的 java.lang.NoSuchMethodError

[英]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:简而言之,您有以下选择:

  • Upgrade to maven 3.8.6 or later升级到 maven 3.8.6 或更高版本
  • Wait until a new version of maven-pmd-plugin is released with a fix for that problem, that makes it working again with old maven versions.等到新版本的 maven-pmd-plugin 发布并修复了该问题,这使得它可以再次与旧的 maven 版本一起工作。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM