Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

2.14.0 plexus-compiler-eclipse fails with An API incompatibility was encountered #333

Closed
tarioch opened this issue Dec 12, 2023 · 10 comments · Fixed by #334
Closed

2.14.0 plexus-compiler-eclipse fails with An API incompatibility was encountered #333

tarioch opened this issue Dec 12, 2023 · 10 comments · Fixed by #334
Labels

Comments

@tarioch
Copy link

tarioch commented Dec 12, 2023

Trying to upgrade from 2.13.0 to 2.14.0 plexus-compiler-eclipse fails now with

This is using JDK 17 and maven 3.9.6

10:44:13  [ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.11.0:compile (default-compile) on project test-common: Execution default-compile of goal org.apache.maven.plugins:maven-compiler-plugin:3.11.0:compile failed: An API incompatibility was encountered while executing org.apache.maven.plugins:maven-compiler-plugin:3.11.0:compile: java.lang.NoSuchFieldError: log
10:44:13  [ERROR] -----------------------------------------------------
10:44:13  [ERROR] realm =    plugin>org.apache.maven.plugins:maven-compiler-plugin:3.11.0--536009843
10:44:13  [ERROR] strategy = org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy
10:44:13  [ERROR] urls[0] = file:/home/maven/.m2/repository/org/apache/maven/plugins/maven-compiler-plugin/3.11.0/maven-compiler-plugin-3.11.0.jar
10:44:13  [ERROR] urls[1] = file:/home/maven/.m2/repository/org/codehaus/plexus/plexus-compiler-eclipse/2.14.0/plexus-compiler-eclipse-2.14.0.jar
10:44:13  [ERROR] urls[2] = file:/home/maven/.m2/repository/org/codehaus/plexus/plexus-utils/3.5.0/plexus-utils-3.5.0.jar
10:44:13  [ERROR] urls[3] = file:/home/maven/.m2/repository/org/codehaus/plexus/plexus-testing/1.2.0/plexus-testing-1.2.0.jar
10:44:13  [ERROR] urls[4] = file:/home/maven/.m2/repository/javax/enterprise/cdi-api/1.2/cdi-api-1.2.jar
10:44:13  [ERROR] urls[5] = file:/home/maven/.m2/repository/org/eclipse/sisu/org.eclipse.sisu.inject/0.3.5/org.eclipse.sisu.inject-0.3.5.jar
10:44:13  [ERROR] urls[6] = file:/home/maven/.m2/repository/com/google/inject/guice/6.0.0/guice-6.0.0.jar
10:44:13  [ERROR] urls[7] = file:/home/maven/.m2/repository/jakarta/inject/jakarta.inject-api/2.0.1/jakarta.inject-api-2.0.1.jar
10:44:13  [ERROR] urls[8] = file:/home/maven/.m2/repository/aopalliance/aopalliance/1.0/aopalliance-1.0.jar
10:44:13  [ERROR] urls[9] = file:/home/maven/.m2/repository/com/google/guava/guava/31.0.1-jre/guava-31.0.1-jre.jar
10:44:13  [ERROR] urls[10] = file:/home/maven/.m2/repository/com/google/guava/failureaccess/1.0.1/failureaccess-1.0.1.jar
10:44:13  [ERROR] urls[11] = file:/home/maven/.m2/repository/com/google/guava/listenablefuture/9999.0-empty-to-avoid-conflict-with-guava/listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar
10:44:13  [ERROR] urls[12] = file:/home/maven/.m2/repository/com/google/code/findbugs/jsr305/3.0.2/jsr305-3.0.2.jar
10:44:13  [ERROR] urls[13] = file:/home/maven/.m2/repository/org/checkerframework/checker-qual/3.12.0/checker-qual-3.12.0.jar
10:44:13  [ERROR] urls[14] = file:/home/maven/.m2/repository/com/google/errorprone/error_prone_annotations/2.7.1/error_prone_annotations-2.7.1.jar
10:44:13  [ERROR] urls[15] = file:/home/maven/.m2/repository/com/google/j2objc/j2objc-annotations/1.3/j2objc-annotations-1.3.jar
10:44:13  [ERROR] urls[16] = file:/home/maven/.m2/repository/org/junit/jupiter/junit-jupiter-api/5.10.0/junit-jupiter-api-5.10.0.jar
10:44:13  [ERROR] urls[17] = file:/home/maven/.m2/repository/org/opentest4j/opentest4j/1.3.0/opentest4j-1.3.0.jar
10:44:13  [ERROR] urls[18] = file:/home/maven/.m2/repository/org/junit/platform/junit-platform-commons/1.10.0/junit-platform-commons-1.10.0.jar
10:44:13  [ERROR] urls[19] = file:/home/maven/.m2/repository/org/apiguardian/apiguardian-api/1.1.2/apiguardian-api-1.1.2.jar
10:44:13  [ERROR] urls[20] = file:/home/maven/.m2/repository/org/eclipse/jdt/ecj/3.35.0/ecj-3.35.0.jar
10:44:13  [ERROR] urls[21] = file:/home/maven/.m2/repository/org/apache/maven/shared/maven-shared-utils/3.3.4/maven-shared-utils-3.3.4.jar
10:44:13  [ERROR] urls[22] = file:/home/maven/.m2/repository/commons-io/commons-io/2.6/commons-io-2.6.jar
10:44:13  [ERROR] urls[23] = file:/home/maven/.m2/repository/org/apache/maven/shared/maven-shared-incremental/1.1/maven-shared-incremental-1.1.jar
10:44:13  [ERROR] urls[24] = file:/home/maven/.m2/repository/org/codehaus/plexus/plexus-component-annotations/1.5.5/plexus-component-annotations-1.5.5.jar
10:44:13  [ERROR] urls[25] = file:/home/maven/.m2/repository/org/codehaus/plexus/plexus-java/1.1.2/plexus-java-1.1.2.jar
10:44:13  [ERROR] urls[26] = file:/home/maven/.m2/repository/org/ow2/asm/asm/9.4/asm-9.4.jar
10:44:13  [ERROR] urls[27] = file:/home/maven/.m2/repository/com/thoughtworks/qdox/qdox/2.0.3/qdox-2.0.3.jar
10:44:13  [ERROR] urls[28] = file:/home/maven/.m2/repository/org/codehaus/plexus/plexus-compiler-api/2.13.0/plexus-compiler-api-2.13.0.jar
10:44:13  [ERROR] urls[29] = file:/home/maven/.m2/repository/org/codehaus/plexus/plexus-compiler-manager/2.13.0/plexus-compiler-manager-2.13.0.jar
10:44:13  [ERROR] urls[30] = file:/home/maven/.m2/repository/org/codehaus/plexus/plexus-compiler-javac/2.13.0/plexus-compiler-javac-2.13.0.jar
10:44:13  [ERROR] Number of foreign imports: 1
10:44:13  [ERROR] import: Entry[import  from realm ClassRealm[maven.api, parent: null]]

Any idea what's going on? On 2.13.0 everything works fine

@slawekjaranowski
Copy link
Member

Confirm API was broken in 2.14.0 ... we need to fix

@slawekjaranowski
Copy link
Member

You can try to add also plexus-compiler-api to plugin dependencies with the same version as plexus-compiler-eclipse

@tarioch
Copy link
Author

tarioch commented Dec 14, 2023

I'm still seeing the issue with 2.14.1

09:17:51  [ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.11.0:compile (default-compile) on project test-common: Execution default-compile of goal org.apache.maven.plugins:maven-compiler-plugin:3.11.0:compile failed: An API incompatibility was encountered while executing org.apache.maven.plugins:maven-compiler-plugin:3.11.0:compile: java.lang.NoSuchMethodError: 'org.slf4j.Logger org.codehaus.plexus.compiler.eclipse.EclipseJavaCompiler.getLog()'
09:17:51  [ERROR] -----------------------------------------------------
09:17:51  [ERROR] realm =    plugin>org.apache.maven.plugins:maven-compiler-plugin:3.11.0--1594112962
09:17:51  [ERROR] strategy = org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy
09:17:51  [ERROR] urls[0] = file:/home/maven/.m2/repository/org/apache/maven/plugins/maven-compiler-plugin/3.11.0/maven-compiler-plugin-3.11.0.jar
09:17:51  [ERROR] urls[1] = file:/home/maven/.m2/repository/org/codehaus/plexus/plexus-compiler-eclipse/2.14.1/plexus-compiler-eclipse-2.14.1.jar
09:17:51  [ERROR] urls[2] = file:/home/maven/.m2/repository/org/codehaus/plexus/plexus-utils/3.5.0/plexus-utils-3.5.0.jar
09:17:51  [ERROR] urls[3] = file:/home/maven/.m2/repository/org/codehaus/plexus/plexus-testing/1.2.0/plexus-testing-1.2.0.jar
09:17:51  [ERROR] urls[4] = file:/home/maven/.m2/repository/javax/enterprise/cdi-api/1.2/cdi-api-1.2.jar
09:17:51  [ERROR] urls[5] = file:/home/maven/.m2/repository/org/eclipse/sisu/org.eclipse.sisu.inject/0.3.5/org.eclipse.sisu.inject-0.3.5.jar
09:17:51  [ERROR] urls[6] = file:/home/maven/.m2/repository/com/google/inject/guice/6.0.0/guice-6.0.0.jar
09:17:51  [ERROR] urls[7] = file:/home/maven/.m2/repository/jakarta/inject/jakarta.inject-api/2.0.1/jakarta.inject-api-2.0.1.jar
09:17:51  [ERROR] urls[8] = file:/home/maven/.m2/repository/aopalliance/aopalliance/1.0/aopalliance-1.0.jar
09:17:51  [ERROR] urls[9] = file:/home/maven/.m2/repository/com/google/guava/guava/31.0.1-jre/guava-31.0.1-jre.jar
09:17:51  [ERROR] urls[10] = file:/home/maven/.m2/repository/com/google/guava/failureaccess/1.0.1/failureaccess-1.0.1.jar
09:17:51  [ERROR] urls[11] = file:/home/maven/.m2/repository/com/google/guava/listenablefuture/9999.0-empty-to-avoid-conflict-with-guava/listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar
09:17:51  [ERROR] urls[12] = file:/home/maven/.m2/repository/com/google/code/findbugs/jsr305/3.0.2/jsr305-3.0.2.jar
09:17:51  [ERROR] urls[13] = file:/home/maven/.m2/repository/org/checkerframework/checker-qual/3.12.0/checker-qual-3.12.0.jar
09:17:51  [ERROR] urls[14] = file:/home/maven/.m2/repository/com/google/errorprone/error_prone_annotations/2.7.1/error_prone_annotations-2.7.1.jar
09:17:51  [ERROR] urls[15] = file:/home/maven/.m2/repository/com/google/j2objc/j2objc-annotations/1.3/j2objc-annotations-1.3.jar
09:17:51  [ERROR] urls[16] = file:/home/maven/.m2/repository/org/junit/jupiter/junit-jupiter-api/5.10.0/junit-jupiter-api-5.10.0.jar
09:17:51  [ERROR] urls[17] = file:/home/maven/.m2/repository/org/opentest4j/opentest4j/1.3.0/opentest4j-1.3.0.jar
09:17:51  [ERROR] urls[18] = file:/home/maven/.m2/repository/org/junit/platform/junit-platform-commons/1.10.0/junit-platform-commons-1.10.0.jar
09:17:51  [ERROR] urls[19] = file:/home/maven/.m2/repository/org/apiguardian/apiguardian-api/1.1.2/apiguardian-api-1.1.2.jar
09:17:51  [ERROR] urls[20] = file:/home/maven/.m2/repository/org/eclipse/jdt/ecj/3.35.0/ecj-3.35.0.jar
09:17:51  [ERROR] urls[21] = file:/home/maven/.m2/repository/org/apache/maven/shared/maven-shared-utils/3.3.4/maven-shared-utils-3.3.4.jar
09:17:51  [ERROR] urls[22] = file:/home/maven/.m2/repository/commons-io/commons-io/2.6/commons-io-2.6.jar
09:17:51  [ERROR] urls[23] = file:/home/maven/.m2/repository/org/apache/maven/shared/maven-shared-incremental/1.1/maven-shared-incremental-1.1.jar
09:17:51  [ERROR] urls[24] = file:/home/maven/.m2/repository/org/codehaus/plexus/plexus-component-annotations/1.5.5/plexus-component-annotations-1.5.5.jar
09:17:51  [ERROR] urls[25] = file:/home/maven/.m2/repository/org/codehaus/plexus/plexus-java/1.1.2/plexus-java-1.1.2.jar
09:17:51  [ERROR] urls[26] = file:/home/maven/.m2/repository/org/ow2/asm/asm/9.4/asm-9.4.jar
09:17:51  [ERROR] urls[27] = file:/home/maven/.m2/repository/com/thoughtworks/qdox/qdox/2.0.3/qdox-2.0.3.jar
09:17:51  [ERROR] urls[28] = file:/home/maven/.m2/repository/org/codehaus/plexus/plexus-compiler-api/2.13.0/plexus-compiler-api-2.13.0.jar
09:17:51  [ERROR] urls[29] = file:/home/maven/.m2/repository/org/codehaus/plexus/plexus-compiler-manager/2.13.0/plexus-compiler-manager-2.13.0.jar
09:17:51  [ERROR] urls[30] = file:/home/maven/.m2/repository/org/codehaus/plexus/plexus-compiler-javac/2.13.0/plexus-compiler-javac-2.13.0.jar
09:17:51  [ERROR] Number of foreign imports: 1
09:17:51  [ERROR] import: Entry[import  from realm ClassRealm[maven.api, parent: null]]

@slawekjaranowski
Copy link
Member

pleas also add plexus-compiler-api in version 2.14.1

@pzygielo
Copy link
Contributor

Perhaps other plexus-compiler-*s (*-manager, *-javac) could be used in the same version as well.

@slawekjaranowski
Copy link
Member

will be fixed in m-compiler-p soon

@slawekjaranowski
Copy link
Member

new version is ok with support some of old implementation of compiler:
apache/maven-compiler-plugin#216

There is a IT which confirm it:
https://github.com/apache/maven-compiler-plugin/tree/master/src/it/groovy-project-with-new-plexus-compiler

@tarioch
Copy link
Author

tarioch commented Dec 14, 2023

fyi, explicit plexus-compiler-api dependency works, I was expecting that this wouldn't be needed with your changes.

@agentgt
Copy link

agentgt commented Dec 14, 2023

Is the current recommendation to wait for the next release? (dependabots update breaks our build). Apologies if that is indicated above.

@slawekjaranowski slawekjaranowski pinned this issue Dec 14, 2023
@slawekjaranowski
Copy link
Member

slawekjaranowski commented Dec 14, 2023

New version of m-compiler-p 3.12.0+ will be also needed, I will release it in a few days.

@slawekjaranowski slawekjaranowski unpinned this issue Dec 29, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants