Suddenly getting "NoSuchMethodError" from Maven internals without any obvious change

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Suddenly getting "NoSuchMethodError" from Maven internals without any obvious change

dkarr
I've already asked this on StackOverflow (
https://stackoverflow.com/questions/54385789/suddenly-getting-nosuchmethoderror-org-codehaus-plexus-compiler-compilerconfig),
but I'm getting nowhere, and all of our builds are blocked by this.

This is what we're seeing on the CI server:
------------------------
[ERROR] Failed to execute goal
org.apache.maven.plugins:maven-compiler-plugin:3.6.1:compile
(default-compile) on project CheckoutMs: Execution default-compile of goal
org.apache.maven.plugins:maven-compiler-plugin:3.6.1:compile failed: An API
incompatibility was encountered while executing
org.apache.maven.plugins:maven-compiler-plugin:3.6.1:compile:
java.lang.NoSuchMethodError:
org.codehaus.plexus.compiler.CompilerConfiguration.isParameters()Z
[ERROR] -----------------------------------------------------
[ERROR] realm =
plugin>org.apache.maven.plugins:maven-compiler-plugin:3.6.1
[ERROR] strategy =
org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy
[ERROR] urls[0] =
file:/home/userid/.m2/repository/org/apache/maven/plugins/maven-compiler-plugin/3.6.1/maven-compiler-plugin-3.6.1.jar
[ERROR] urls[1] =
file:/home/userid/.m2/repository/org/codehaus/groovy/groovy-eclipse-compiler/3.3.0-01/groovy-eclipse-compiler-3.3.0-01.jar
[ERROR] urls[2] =
file:/home/userid/.m2/repository/org/codehaus/plexus/plexus-component-annotations/1.6/plexus-component-annotations-1.6.jar
[ERROR] urls[3] =
file:/home/userid/.m2/repository/org/apache/xbean/xbean-reflect/3.7/xbean-reflect-3.7.jar
[ERROR] urls[4] =
file:/home/userid/.m2/repository/com/google/collections/google-collections/1.0/google-collections-1.0.jar
[ERROR] urls[5] =
file:/home/userid/.m2/repository/org/codehaus/groovy/groovy-eclipse-batch/2.5.5-01/groovy-eclipse-batch-2.5.5-01.jar
[ERROR] urls[6] =
file:/home/userid/.m2/repository/org/sonatype/sisu/sisu-inject-bean/1.4.2/sisu-inject-bean-1.4.2.jar
[ERROR] urls[7] =
file:/home/userid/.m2/repository/org/sonatype/sisu/sisu-guice/2.1.7/sisu-guice-2.1.7-noaop.jar
[ERROR] urls[8] =
file:/home/userid/.m2/repository/org/codehaus/plexus/plexus-utils/2.0.4/plexus-utils-2.0.4.jar
[ERROR] urls[9] =
file:/home/userid/.m2/repository/org/sonatype/aether/aether-util/1.7/aether-util-1.7.jar
[ERROR] urls[10] =
file:/home/userid/.m2/repository/org/codehaus/plexus/plexus-interpolation/1.14/plexus-interpolation-1.14.jar
[ERROR] urls[11] =
file:/home/userid/.m2/repository/org/sonatype/plexus/plexus-sec-dispatcher/1.3/plexus-sec-dispatcher-1.3.jar
[ERROR] urls[12] =
file:/home/userid/.m2/repository/org/sonatype/plexus/plexus-cipher/1.4/plexus-cipher-1.4.jar
[ERROR] urls[13] =
file:/home/userid/.m2/repository/org/apache/maven/shared/maven-shared-utils/3.1.0/maven-shared-utils-3.1.0.jar
[ERROR] urls[14] =
file:/home/userid/.m2/repository/commons-io/commons-io/2.5/commons-io-2.5.jar
[ERROR] urls[15] =
file:/home/userid/.m2/repository/org/apache/maven/shared/maven-shared-incremental/1.1/maven-shared-incremental-1.1.jar
[ERROR] urls[16] =
file:/home/userid/.m2/repository/org/ow2/asm/asm/6.0_ALPHA/asm-6.0_ALPHA.jar
[ERROR] urls[17] =
file:/home/userid/.m2/repository/com/thoughtworks/qdox/qdox/2.0-M5/qdox-2.0-M5.jar
[ERROR] urls[18] =
file:/home/userid/.m2/repository/org/codehaus/plexus/plexus-compiler-api/2.8.1/plexus-compiler-api-2.8.1.jar
[ERROR] urls[19] =
file:/home/userid/.m2/repository/org/codehaus/plexus/plexus-compiler-manager/2.8.1/plexus-compiler-manager-2.8.1.jar
[ERROR] urls[20] =
file:/home/userid/.m2/repository/org/codehaus/plexus/plexus-compiler-javac/2.8.1/plexus-compiler-javac-2.8.1.jar
[ERROR] Number of foreign imports: 1
[ERROR] import: Entry[import  from realm ClassRealm[maven.api, parent:
null]]
-------------------------------

This started happening in one project, among several, on the first build
after midnight on 1/26.  The previous build, just before midnight, didn't
fail with this.  Jenkins displays all the git commit ids that it checked
out for the builds, and they are identical for both builds. That seems to
indicate that there were no code changes between the successful build and
the failed build.

This is only failing on the CI server, but it's only failing for one
particular project out of several. As far as I can see, it's using Maven
3.3.9, and has been for quite a while.

The application pom doesn't have any of the dependencies listed above,
either direct or indirect.

I did examine the particular class and method mentioned in the error.  That
method is not present in version 2.8.1 of the plexus-api. It was added in
version 2.8.3.  Besides that, I can see no other useful information from
this, or understand how to resolve this.
Reply | Threaded
Open this post in threaded view
|

Re: Suddenly getting "NoSuchMethodError" from Maven internals without any obvious change

Mykola Nikishov-2
David Karr <[hidden email]> writes:

[...]

> This started happening in one project, among several, on the first build
> after midnight on 1/26.  The previous build, just before midnight, didn't
> fail with this.  Jenkins displays all the git commit ids that it checked
> out for the builds, and they are identical for both builds. That seems to
> indicate that there were no code changes between the successful build and
> the failed build.

IIRC, I had very similar problem when build started using Java 12
instead of Java 8.

--8<---------------cut here---------------start------------->8---
mvn --show-version
Apache Maven 3.6.0
Maven home: /usr/share/maven
Java version: 1.8.0_191, vendor: Oracle Corporation, runtime: /usr/lib/jvm/java-8-openjdk-amd64/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "4.19.0-2-amd64", arch: "amd64", family: "unix"
--8<---------------cut here---------------end--------------->8---

I found it very helpful to run CI jobs with 'mvn --show-version' to spot
changes in JDK/Maven version being used.

--
Mykola

Libre/Free Java Software Engineer
https://manandbytes.gitlab.io/


---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]