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

Error upgrading from 3.5.3 to 3.6.1 / running 3.6.1 #37602

Closed
fordsworth opened this issue Dec 8, 2023 · 32 comments
Closed

Error upgrading from 3.5.3 to 3.6.1 / running 3.6.1 #37602

fordsworth opened this issue Dec 8, 2023 · 32 comments
Labels
area/maven kind/bug Something isn't working

Comments

@fordsworth
Copy link

Describe the bug

I am unable to build a new project on quarkus 3.6.1 downloaded from quarkus.io or
I am not able to upgrade my project as well.

However if I change the <quarkus.platform.version>3.6.1</quarkus.platform.version> back to <quarkus.platform.version>3.5.3</quarkus.platform.version> I am able to build the project

Here is a link to a sample project
Reproducer
https://github.com/fordsworth/quarkus-3.6.1-upgrade.git

Expected behavior

The project should boot up and start on port 8080

Actual behavior

mvn quarkus:dev
[INFO] Scanning for projects...
[WARNING] ClassRealm[extension>io.quarkus.platform:quarkus-maven-plugin:3.6.1, parent: jdk.internal.loader.ClassLoaders$AppClassLoader@1cf4f579]
com.google.inject.CreationException: Unable to create injector, see the following errors:

  1. [Guice/MissingImplementation]: No implementation for QuarkusBootstrapProvider annotated with interface TypeArguments$Implicit was bound.

Did you mean?
QuarkusBootstrapProvider bound at LocatorWiring

Requested by:
1 : LocatorWiring

Learn more:
https://github.com/google/guice/wiki/MISSING_IMPLEMENTATION

1 error

======================
Full classname legend:

LocatorWiring: "org.eclipse.sisu.wire.LocatorWiring"
QuarkusBootstrapProvider: "io.quarkus.maven.QuarkusBootstrapProvider"
TypeArguments$Implicit: "org.eclipse.sisu.inject.TypeArguments$Implicit"

End of classname legend:

at com.google.inject.internal.Errors.throwCreationExceptionIfErrorsExist (Errors.java:576)
at com.google.inject.internal.InternalInjectorCreator.initializeStatically (InternalInjectorCreator.java:163)
at com.google.inject.internal.InternalInjectorCreator.build (InternalInjectorCreator.java:110)
at com.google.inject.Guice.createInjector (Guice.java:87)
at com.google.inject.Guice.createInjector (Guice.java:69)
at com.google.inject.Guice.createInjector (Guice.java:59)
at org.codehaus.plexus.DefaultPlexusContainer.addPlexusInjector (DefaultPlexusContainer.java:482)
at org.codehaus.plexus.DefaultPlexusContainer.discoverComponents (DefaultPlexusContainer.java:461)
at org.apache.maven.plugin.internal.DefaultMavenPluginManager.discoverPluginComponents (DefaultMavenPluginManager.java:410)
at org.apache.maven.plugin.internal.DefaultMavenPluginManager.setupExtensionsRealm (DefaultMavenPluginManager.java:804)
at org.apache.maven.project.DefaultProjectBuildingHelper.createProjectRealm (DefaultProjectBuildingHelper.java:177)
at org.apache.maven.project.DefaultModelBuildingListener.buildExtensionsAssembled (DefaultModelBuildingListener.java:92)
at org.apache.maven.model.building.ModelBuildingEventCatapult$1.fire (ModelBuildingEventCatapult.java:40)
at org.apache.maven.model.building.DefaultModelBuilder.fireEvent (DefaultModelBuilder.java:1269)
at org.apache.maven.model.building.DefaultModelBuilder.build (DefaultModelBuilder.java:474)
at org.apache.maven.model.building.DefaultModelBuilder.build (DefaultModelBuilder.java:455)
at org.apache.maven.project.DefaultProjectBuilder.build (DefaultProjectBuilder.java:612)
at org.apache.maven.project.DefaultProjectBuilder.build (DefaultProjectBuilder.java:375)
at org.apache.maven.graph.DefaultGraphBuilder.collectProjects (DefaultGraphBuilder.java:349)
at org.apache.maven.graph.DefaultGraphBuilder.getProjectsForMavenReactor (DefaultGraphBuilder.java:340)
at org.apache.maven.graph.DefaultGraphBuilder.build (DefaultGraphBuilder.java:76)
at org.apache.maven.DefaultMaven.buildGraph (DefaultMaven.java:448)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:197)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:173)
at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:101)
at org.apache.maven.cli.MavenCli.execute (MavenCli.java:906)
at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:283)
at org.apache.maven.cli.MavenCli.main (MavenCli.java:206)
at jdk.internal.reflect.DirectMethodHandleAccessor.invoke (DirectMethodHandleAccessor.java:103)
at java.lang.reflect.Method.invoke (Method.java:580)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:283)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:226)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:407)
at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:348)

[INFO]
[INFO] ---------------------< org.acme:code-with-quarkus >---------------------
[INFO] Building code-with-quarkus 1.0.0-SNAPSHOT
[INFO] from pom.xml
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
[INFO] --- quarkus:3.6.1:dev (default-cli) @ code-with-quarkus ---
[WARNING] ClassRealm[plugin>io.quarkus.platform:quarkus-maven-plugin:3.6.1, parent: jdk.internal.loader.ClassLoaders$AppClassLoader@1cf4f579]
com.google.inject.CreationException: Unable to create injector, see the following errors:

  1. [Guice/MissingImplementation]: No implementation for QuarkusBootstrapProvider annotated with interface TypeArguments$Implicit was bound.

Did you mean?
QuarkusBootstrapProvider bound at LocatorWiring

Requested by:
1 : LocatorWiring

Learn more:
https://github.com/google/guice/wiki/MISSING_IMPLEMENTATION

1 error

======================
Full classname legend:

LocatorWiring: "org.eclipse.sisu.wire.LocatorWiring"
QuarkusBootstrapProvider: "io.quarkus.maven.QuarkusBootstrapProvider"
TypeArguments$Implicit: "org.eclipse.sisu.inject.TypeArguments$Implicit"

End of classname legend:

at com.google.inject.internal.Errors.throwCreationExceptionIfErrorsExist (Errors.java:576)
at com.google.inject.internal.InternalInjectorCreator.initializeStatically (InternalInjectorCreator.java:163)
at com.google.inject.internal.InternalInjectorCreator.build (InternalInjectorCreator.java:110)
at com.google.inject.Guice.createInjector (Guice.java:87)
at com.google.inject.Guice.createInjector (Guice.java:69)
at com.google.inject.Guice.createInjector (Guice.java:59)
at org.codehaus.plexus.DefaultPlexusContainer.addPlexusInjector (DefaultPlexusContainer.java:482)
at org.codehaus.plexus.DefaultPlexusContainer.discoverComponents (DefaultPlexusContainer.java:461)
at org.apache.maven.plugin.internal.DefaultMavenPluginManager.discoverPluginComponents (DefaultMavenPluginManager.java:410)
at org.apache.maven.plugin.internal.DefaultMavenPluginManager.createPluginRealm (DefaultMavenPluginManager.java:392)
at org.apache.maven.plugin.internal.DefaultMavenPluginManager.lambda$setupPluginRealm$1 (DefaultMavenPluginManager.java:340)
at org.apache.maven.plugin.DefaultPluginRealmCache.lambda$get$0 (DefaultPluginRealmCache.java:156)
at java.util.concurrent.ConcurrentHashMap.computeIfAbsent (ConcurrentHashMap.java:1708)
at org.apache.maven.plugin.DefaultPluginRealmCache.get (DefaultPluginRealmCache.java:154)
at org.apache.maven.plugin.internal.DefaultMavenPluginManager.setupPluginRealm (DefaultMavenPluginManager.java:339)
at org.apache.maven.plugin.DefaultBuildPluginManager.getPluginRealm (DefaultBuildPluginManager.java:205)
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:98)
at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute2 (MojoExecutor.java:328)
at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute (MojoExecutor.java:316)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:212)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:174)
at org.apache.maven.lifecycle.internal.MojoExecutor.access$000 (MojoExecutor.java:75)
at org.apache.maven.lifecycle.internal.MojoExecutor$1.run (MojoExecutor.java:162)
at org.apache.maven.plugin.DefaultMojosExecutionStrategy.execute (DefaultMojosExecutionStrategy.java:39)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:159)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:105)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:73)
at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:53)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:118)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:261)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:173)
at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:101)
at org.apache.maven.cli.MavenCli.execute (MavenCli.java:906)
at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:283)
at org.apache.maven.cli.MavenCli.main (MavenCli.java:206)
at jdk.internal.reflect.DirectMethodHandleAccessor.invoke (DirectMethodHandleAccessor.java:103)
at java.lang.reflect.Method.invoke (Method.java:580)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:283)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:226)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:407)
at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:348)

[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 0.739 s
[INFO] Finished at: 2023-12-08T07:24:13+02:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal io.quarkus.platform:quarkus-maven-plugin:3.6.1:dev (default-cli) on project code-with-quarkus: Execution default-cli of goal io.quarkus.platform:quarkus-maven-plugin:3.6.1:dev failed: Unable to load the mojo 'dev' (or one of its required components) from the plugin 'io.quarkus.platform:quarkus-maven-plugin:3.6.1': java.util.NoSuchElementException
[ERROR] role: org.apache.maven.plugin.Mojo
[ERROR] roleHint: io.quarkus.platform:quarkus-maven-plugin:3.6.1:dev
[ERROR] -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/PluginContainerException

How to Reproduce?

quarkus io sample project with quarkus-resteasy-reactive dependency
run either
quarkus dev / mvn quarkus:dev on the command line

Output of uname -a or ver

Darwin kc-Mackbook-Pro.local 23.1.0 Darwin Kernel Version 23.1.0: Mon Oct 9 21:27:24 PDT 2023; root:xnu-10002.41.9~6/RELEASE_ARM64_T6000 arm64

Output of java -version

❯ java -version java version "21.0.1" 2023-10-17 LTS Java(TM) SE Runtime Environment (build 21.0.1+12-LTS-29) Java HotSpot(TM) 64-Bit Server VM (build 21.0.1+12-LTS-29, mixed mode, sharing)

Quarkus version or git rev

3.6.1

Build tool (ie. output of mvnw --version or gradlew --version)

Apache Maven 3.9.6

Additional information

No response

@fordsworth fordsworth added the kind/bug Something isn't working label Dec 8, 2023
@quarkus-bot
Copy link

quarkus-bot bot commented Dec 8, 2023

/cc @quarkusio/devtools (maven)

@geoand
Copy link
Contributor

geoand commented Dec 8, 2023

cc @aloubyansky

@gsmet
Copy link
Member

gsmet commented Dec 8, 2023

It looks like the error I had when a Maven plugin was built with Java 17.

I need to check the platform plugin Pom.

@maxandersen
Copy link
Contributor

I tried it last night but could not reproduce it with mvnd, mvn 3.9.6 or vm wrapper 3.9.5.

Did mvn package and mvn quarkus:dev

@gsmet
Copy link
Member

gsmet commented Dec 8, 2023

Yeah, it's not an obvious issue as I created a small app with Java 11 and everything worked flawlessly so the plugin is fine.

@gsmet
Copy link
Member

gsmet commented Dec 8, 2023

Same here, I cannot reproduce it with the provided reproducer.

@fordsworth you're positive you can reproduce it with your git repo?

@fordsworth
Copy link
Author

Yes. I am constantly reproducing it. I will try to remove all my local Maven dependencies and retry.

@fordsworth fordsworth reopened this Dec 8, 2023
@fordsworth
Copy link
Author

I am gonna close this. Its something specific to my pc. I will investigate to see why this is happening. If I run this on a different pc i can't reproduce

@gastaldi gastaldi closed this as not planned Won't fix, can't repro, duplicate, stale Dec 8, 2023
@teedjay
Copy link

teedjay commented Dec 8, 2023

@fordsworth I got the exact same issue and I'm also on MacOS "Darwin Thore-MBP-2019.local 23.1.0 Darwin Kernel Version 23.1.0"

Reverting back to 3.5.x works, but 3.6.x fails the exactly same way as for you. So if you manage to find a solution / workaround please share.



1) [Guice/MissingImplementation]: No implementation for QuarkusBootstrapProvider annotated with interface TypeArguments$Implicit was bound.

Did you mean?
    QuarkusBootstrapProvider bound at LocatorWiring```

@fordsworth
Copy link
Author

@fordsworth I got the exact same issue and I'm also on MacOS "Darwin Thore-MBP-2019.local 23.1.0 Darwin Kernel Version 23.1.0"

Reverting back to 3.5.x works, but 3.6.x fails the exactly same way as for you. So if you manage to find a solution / workaround please share.


1) [Guice/MissingImplementation]: No implementation for QuarkusBootstrapProvider annotated with interface TypeArguments$Implicit was bound.

Did you mean?
    QuarkusBootstrapProvider bound at LocatorWiring```

I have been trying all sorts of things but no solution to this. It seems to be a specific to Mac OS. I wonder if there is someone else running the same version who doesn't have the problem

@gsmet
Copy link
Member

gsmet commented Dec 11, 2023

@teedjay are you using Java 21 too?

@gsmet gsmet reopened this Dec 11, 2023
@gsmet
Copy link
Member

gsmet commented Dec 11, 2023

I checked the jar and it looks OK to me. I'll look a bit deeper by comparing both jars with pkgdiff.

@teedjay please give us more information about your environment and check if it's similar to what @fordsworth described in the description of the issue.

@gsmet
Copy link
Member

gsmet commented Dec 11, 2023

Mmmmh, I see that all the Maven dependencies were updated to 3.9.6 and that also sisu-inject was updated to 0.9.0.M2.

That's the only changes that I can see in the jars.

@teedjay @fordsworth can you confirm that both 3.6.0 and 3.6.1 fail for you or if it's just 3.6.1?

@gsmet
Copy link
Member

gsmet commented Dec 11, 2023

If it's the Maven 3.9.6 upgrade, then only 3.6.1 would be affected (as per #37449).

@fordsworth
Copy link
Author

@gsmet I will check and revert

@teedjay
Copy link

teedjay commented Dec 11, 2023

Hi,

Thanks for interest in this issue!

I just tested with a new blank project directly from code.quarkus.io (no config or extension changes, just selecting "download as zip"), and got the exact same issue.

The Intel Mac with latest Sonoma :

uname -a
Darwin Thore-MBP-2019.local 23.1.0 Darwin Kernel Version 23.1.0: Mon Oct  9 21:27:27 PDT 2023; root:xnu-10002.41.9~6/RELEASE_X86_64 x86_64

My Java versions (have same issue with both) :

# JAVA 17 version
java -version
openjdk version "17.0.7" 2023-04-18
OpenJDK Runtime Environment Temurin-17.0.7+7 (build 17.0.7+7)
OpenJDK 64-Bit Server VM Temurin-17.0.7+7 (build 17.0.7+7, mixed mode, sharing)

# JAVA 21 version
java -version
java version "21" 2023-09-19 LTS
Java(TM) SE Runtime Environment (build 21+35-LTS-2513)
Java HotSpot(TM) 64-Bit Server VM (build 21+35-LTS-2513, mixed mode, sharing)

I'm compiling using Maven Wrapper that came with the project, and it fails even on a simple ./mvnw clean :

Full output is when using Java 21 is :

~/Downloads/code-with-quarkus via ☕ v21 on 🐳 v24.0.7 (orbstack) …
➜ ./mvnw clean
[INFO] Scanning for projects...
[WARNING] ClassRealm[extension>io.quarkus.platform:quarkus-maven-plugin:3.6.1, parent: java.net.URLClassLoader@50040f0c]
com.google.inject.CreationException: Unable to create injector, see the following errors:

1) [Guice/MissingImplementation]: No implementation for QuarkusBootstrapProvider annotated with interface TypeArguments$Implicit was bound.

Did you mean?
    QuarkusBootstrapProvider bound at LocatorWiring

Requested by:
1  : LocatorWiring

Learn more:
  https://github.com/google/guice/wiki/MISSING_IMPLEMENTATION

1 error

======================
Full classname legend:
======================
LocatorWiring:            "org.eclipse.sisu.wire.LocatorWiring"
QuarkusBootstrapProvider: "io.quarkus.maven.QuarkusBootstrapProvider"
TypeArguments$Implicit:   "org.eclipse.sisu.inject.TypeArguments$Implicit"
========================
End of classname legend:
========================

    at com.google.inject.internal.Errors.throwCreationExceptionIfErrorsExist (Errors.java:576)
    at com.google.inject.internal.InternalInjectorCreator.initializeStatically (InternalInjectorCreator.java:163)
    at com.google.inject.internal.InternalInjectorCreator.build (InternalInjectorCreator.java:110)
    at com.google.inject.Guice.createInjector (Guice.java:87)
    at com.google.inject.Guice.createInjector (Guice.java:69)
    at com.google.inject.Guice.createInjector (Guice.java:59)
    at org.codehaus.plexus.DefaultPlexusContainer.addPlexusInjector (DefaultPlexusContainer.java:482)
    at org.codehaus.plexus.DefaultPlexusContainer.discoverComponents (DefaultPlexusContainer.java:461)
    at org.apache.maven.plugin.internal.DefaultMavenPluginManager.discoverPluginComponents (DefaultMavenPluginManager.java:410)
    at org.apache.maven.plugin.internal.DefaultMavenPluginManager.setupExtensionsRealm (DefaultMavenPluginManager.java:804)
    at org.apache.maven.project.DefaultProjectBuildingHelper.createProjectRealm (DefaultProjectBuildingHelper.java:177)
    at org.apache.maven.project.DefaultModelBuildingListener.buildExtensionsAssembled (DefaultModelBuildingListener.java:92)
    at org.apache.maven.model.building.ModelBuildingEventCatapult$1.fire (ModelBuildingEventCatapult.java:40)
    at org.apache.maven.model.building.DefaultModelBuilder.fireEvent (DefaultModelBuilder.java:1269)
    at org.apache.maven.model.building.DefaultModelBuilder.build (DefaultModelBuilder.java:474)
    at org.apache.maven.model.building.DefaultModelBuilder.build (DefaultModelBuilder.java:455)
    at org.apache.maven.project.DefaultProjectBuilder.build (DefaultProjectBuilder.java:612)
    at org.apache.maven.project.DefaultProjectBuilder.build (DefaultProjectBuilder.java:375)
    at org.apache.maven.graph.DefaultGraphBuilder.collectProjects (DefaultGraphBuilder.java:349)
    at org.apache.maven.graph.DefaultGraphBuilder.getProjectsForMavenReactor (DefaultGraphBuilder.java:340)
    at org.apache.maven.graph.DefaultGraphBuilder.build (DefaultGraphBuilder.java:76)
    at org.apache.maven.DefaultMaven.buildGraph (DefaultMaven.java:448)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:197)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:173)
    at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:101)
    at org.apache.maven.cli.MavenCli.execute (MavenCli.java:906)
    at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:283)
    at org.apache.maven.cli.MavenCli.main (MavenCli.java:206)
    at jdk.internal.reflect.DirectMethodHandleAccessor.invoke (DirectMethodHandleAccessor.java:103)
    at java.lang.reflect.Method.invoke (Method.java:580)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:283)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:226)
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:407)
    at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:348)
    at jdk.internal.reflect.DirectMethodHandleAccessor.invoke (DirectMethodHandleAccessor.java:103)
    at java.lang.reflect.Method.invoke (Method.java:580)
    at org.apache.maven.wrapper.BootstrapMainStarter.start (BootstrapMainStarter.java:52)
    at org.apache.maven.wrapper.WrapperExecutor.execute (WrapperExecutor.java:161)
    at org.apache.maven.wrapper.MavenWrapperMain.main (MavenWrapperMain.java:73)
[INFO]
[INFO] ---------------------< org.acme:code-with-quarkus >---------------------
[INFO] Building code-with-quarkus 1.0.0-SNAPSHOT
[INFO]   from pom.xml
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
[INFO] --- clean:3.2.0:clean (default-clean) @ code-with-quarkus ---
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  7.098 s
[INFO] Finished at: 2023-12-11T15:52:27+01:00
[INFO] ------------------------------------------------------------------------

A couple of other point :

  • The projects works in our CI pipeline (GHA with linux runners), so the seems to be some local / MacOS issue
  • It fails the same way using the "quarkus cli"
  • It fails the same way using a locally installed Maven version 3.9.3 (instead of wrapper)

@teedjay
Copy link

teedjay commented Dec 11, 2023

Mmmmh, I see that all the Maven dependencies were updated to 3.9.6 and that also sisu-inject was updated to 0.9.0.M2.

That's the only changes that I can see in the jars.

@teedjay @fordsworth can you confirm that both 3.6.0 and 3.6.1 fail for you or if it's just 3.6.1?

I can confirm I had same issue with 3.6.0 (was hoping 3.6.1 would fix it).

@fordsworth
Copy link
Author

Mmmmh, I see that all the Maven dependencies were updated to 3.9.6 and that also sisu-inject was updated to 0.9.0.M2.

That's the only changes that I can see in the jars.

@teedjay @fordsworth can you confirm that both 3.6.0 and 3.6.1 fail for you or if it's just 3.6.1?

For me its the same hello world project from quarkus.io fails for both 3.6.0 and 3.6.1
this works on linux when as indicated by @teedjay

@gsmet
Copy link
Member

gsmet commented Dec 11, 2023

Could you try with Apache Maven 3.9.5 instead of 3.9.6?

@teedjay
Copy link

teedjay commented Dec 11, 2023

Same result with Maven 3.9.5 (and also when using 3.9.3 which I have locally installed)

~/Downloads/code-with-quarkus is 📦 1.0.0-SNAPSHOT via ☕ v21 on 🐳 v24.0.7 (orbstack) using ☁️ sub-evry-dds-heimdall-test
➜ ./mvnw -version
Apache Maven 3.9.5 (57804ffe001d7215b5e7bcb531cf83df38f93546)
Maven home: /Users/thorej/.m2/wrapper/dists/apache-maven-3.9.5-bin/32db9c34/apache-maven-3.9.5
Java version: 21, vendor: Oracle Corporation, runtime: /Users/thorej/.sdkman/candidates/java/21-oracle
Default locale: nb_NO, platform encoding: UTF-8
OS name: "mac os x", version: "14.1.2", arch: "x86_64", family: "mac"

~/Downloads/code-with-quarkus is 📦 1.0.0-SNAPSHOT via ☕ v21 on 🐳 v24.0.7 (orbstack) using ☁️ sub-evry-dds-heimdall-test
➜ ./mvnw clean
[INFO] Scanning for projects...
[WARNING] ClassRealm[extension>io.quarkus.platform:quarkus-maven-plugin:3.6.1, parent: java.net.URLClassLoader@50040f0c]
com.google.inject.CreationException: Unable to create injector, see the following errors:

1) [Guice/MissingImplementation]: No implementation for QuarkusBootstrapProvider annotated with interface TypeArguments$Implicit was bound.

Did you mean?
    QuarkusBootstrapProvider bound at LocatorWiring

Requested by:
1  : LocatorWiring

Learn more:
  https://github.com/google/guice/wiki/MISSING_IMPLEMENTATION

1 error

======================
Full classname legend:
======================
LocatorWiring:            "org.eclipse.sisu.wire.LocatorWiring"
QuarkusBootstrapProvider: "io.quarkus.maven.QuarkusBootstrapProvider"
TypeArguments$Implicit:   "org.eclipse.sisu.inject.TypeArguments$Implicit"
========================
End of classname legend:
========================

@gsmet
Copy link
Member

gsmet commented Dec 11, 2023

This is very weird...

@gsmet
Copy link
Member

gsmet commented Dec 11, 2023

@teedjay oh wait, can you try with Apache Maven 3.9.5 and Quarkus 3.6.0 to avoid anything from 3.9.6 around?

@teedjay
Copy link

teedjay commented Dec 11, 2023

Same issue with that combination :

~/Downloads/code-with-quarkus via ☕ v21 on 🐳 v24.0.7 (orbstack) using ☁️ sub-evry-dds-heimdall-test took 3.9s …
➜ ./mvnw -version
Apache Maven 3.9.5 (57804ffe001d7215b5e7bcb531cf83df38f93546)
Maven home: /Users/thorej/.m2/wrapper/dists/apache-maven-3.9.5-bin/32db9c34/apache-maven-3.9.5
Java version: 21, vendor: Oracle Corporation, runtime: /Users/thorej/.sdkman/candidates/java/21-oracle
Default locale: nb_NO, platform encoding: UTF-8
OS name: "mac os x", version: "14.1.2", arch: "x86_64", family: "mac"

~/Downloads/code-with-quarkus via ☕ v21 on 🐳 v24.0.7 (orbstack) using ☁️ sub-evry-dds-heimdall-test …
➜ ./mvnw clean
[INFO] Scanning for projects...
[WARNING] ClassRealm[extension>io.quarkus.platform:quarkus-maven-plugin:3.6.0, parent: java.net.URLClassLoader@50040f0c]
com.google.inject.CreationException: Unable to create injector, see the following errors:

1) [Guice/MissingImplementation]: No implementation for QuarkusBootstrapProvider annotated with interface TypeArguments$Implicit was bound.

Did you mean?
    QuarkusBootstrapProvider bound at LocatorWiring

Requested by:
1  : LocatorWiring

Learn more:
  https://github.com/google/guice/wiki/MISSING_IMPLEMENTATION

1 error

======================
Full classname legend:
======================
LocatorWiring:            "org.eclipse.sisu.wire.LocatorWiring"
QuarkusBootstrapProvider: "io.quarkus.maven.QuarkusBootstrapProvider"
TypeArguments$Implicit:   "org.eclipse.sisu.inject.TypeArguments$Implicit"
========================
End of classname legend:
========================

@gsmet
Copy link
Member

gsmet commented Dec 11, 2023

I'm a bit out of ideas here... @aloubyansky do you see anything that could cause this?

@teedjay
Copy link

teedjay commented Dec 11, 2023

Just for the record, same code with quarkus project with Maven 3.9.6, Java 21 with Quarkus 3.5.3 works great ...

~/Downloads/code-with-quarkus is 📦 1.0.0-SNAPSHOT via ☕ v21 on 🐳 v24.0.7 (orbstack) using ☁️ sub-evry-dds-heimdall-test took 6.0s
➜ ./mvnw -version
Apache Maven 3.9.6 (bc0240f3c744dd6b6ec2920b3cd08dcc295161ae)
Maven home: /Users/thorej/.m2/wrapper/dists/apache-maven-3.9.6-bin/3311e1d4/apache-maven-3.9.6
Java version: 21, vendor: Oracle Corporation, runtime: /Users/thorej/.sdkman/candidates/java/21-oracle
Default locale: nb_NO, platform encoding: UTF-8
OS name: "mac os x", version: "14.1.2", arch: "x86_64", family: "mac"

~/Downloads/code-with-quarkus via ☕ v21 on 🐳 v24.0.7 (orbstack) using ☁️ sub-evry-dds-heimdall-test …
➜ ./mvnw test
[INFO] Scanning for projects...
[INFO]
[INFO] ---------------------< org.acme:code-with-quarkus >---------------------
[INFO] Building code-with-quarkus 1.0.0-SNAPSHOT
[INFO]   from pom.xml
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
[INFO] --- resources:3.3.1:resources (default-resources) @ code-with-quarkus ---
[INFO] Copying 2 resources from src/main/resources to target/classes
[INFO]
[INFO] --- quarkus:3.5.3:generate-code (default) @ code-with-quarkus ---
[INFO]
[INFO] --- compiler:3.11.0:compile (default-compile) @ code-with-quarkus ---
[INFO] Nothing to compile - all classes are up to date
[INFO]
[INFO] --- quarkus:3.5.3:generate-code-tests (default) @ code-with-quarkus ---
[INFO]
[INFO] --- resources:3.3.1:testResources (default-testResources) @ code-with-quarkus ---
[INFO] skip non existing resourceDirectory /Users/thorej/Downloads/code-with-quarkus/src/test/resources
[INFO]
[INFO] --- compiler:3.11.0:testCompile (default-testCompile) @ code-with-quarkus ---
[INFO] Changes detected - recompiling the module! :source
[INFO] Compiling 2 source files with javac [debug release 21] to target/test-classes
[INFO] Annotation processing is enabled because one or more processors were found
  on the class path. A future release of javac may disable annotation processing
  unless at least one processor is specified by name (-processor), or a search
  path is specified (--processor-path, --processor-module-path), or annotation
  processing is enabled explicitly (-proc:only, -proc:full).
  Use -Xlint:-options to suppress this message.
  Use -proc:none to disable annotation processing.
[INFO]
[INFO] --- surefire:3.1.2:test (default-test) @ code-with-quarkus ---
[INFO] Using auto detected provider org.apache.maven.surefire.junitplatform.JUnitPlatformProvider
[INFO]
[INFO] -------------------------------------------------------
[INFO]  T E S T S
[INFO] -------------------------------------------------------
[INFO] Running org.acme.GreetingResourceTest
2023-12-11 16:56:45,183 INFO  [io.quarkus] (main) code-with-quarkus 1.0.0-SNAPSHOT on JVM (powered by Quarkus 3.5.3) started in 2.096s. Listening on: http://localhost:8081
2023-12-11 16:56:45,186 INFO  [io.quarkus] (main) Profile test activated.
2023-12-11 16:56:45,186 INFO  [io.quarkus] (main) Installed features: [cdi, resteasy-reactive, smallrye-context-propagation, vertx]
[INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 6.858 s -- in org.acme.GreetingResourceTest
2023-12-11 16:56:46,418 INFO  [io.quarkus] (main) code-with-quarkus stopped in 0.025s
[INFO]
[INFO] Results:
[INFO]
[INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  15.197 s
[INFO] Finished at: 2023-12-11T16:56:46+01:00
[INFO] ------------------------------------------------------------------------

@gsmet
Copy link
Member

gsmet commented Dec 11, 2023

OK, so if we summarize:

  • Both 3.6.0 and 3.6.1 are failing so it doesn't seem related to either the new release process (used for 3.6.1) or the Maven 3.9.6 upgrade that was done in 3.6.1 only
  • It only fails on macOS, runs fine on Linux

Sounds about right?

@aloubyansky
Copy link
Member

I don't have a macOS right here to try it myself but if somebody could try downgrading the following dependencies (just copy the <dependencies> block under the plugin) for the quarkus-maven-plugin and let us know whether it made a difference, it'd be appreciated:

    <plugins>
      <plugin>
        <groupId>${quarkus.platform.group-id}</groupId>
        <artifactId>quarkus-maven-plugin</artifactId>
        <version>${quarkus.platform.version}</version>
        <extensions>true</extensions>
        <dependencies>
          <dependency>
            <groupId>org.eclipse.sisu</groupId>
            <artifactId>org.eclipse.sisu.inject</artifactId>
            <version>0.3.5</version>
          </dependency>
          <dependency>
            <groupId>org.eclipse.sisu</groupId>
            <artifactId>org.eclipse.sisu.plexus</artifactId>
            <version>0.3.5</version>
          </dependency>
        </dependencies>
        <executions>
          <execution>
            <goals>
              <goal>build</goal>
              <goal>generate-code</goal>
              <goal>generate-code-tests</goal>
            </goals>
          </execution>

@teedjay
Copy link

teedjay commented Dec 13, 2023

No dice, same issue with explicit versions. The plugin section ended up like this :

      <plugin>
        <groupId>${quarkus.platform.group-id}</groupId>
        <artifactId>quarkus-maven-plugin</artifactId>
        <version>${quarkus.platform.version}</version>
        <extensions>true</extensions>
        <dependencies>
          <dependency>
            <groupId>org.eclipse.sisu</groupId>
            <artifactId>org.eclipse.sisu.inject</artifactId>
            <version>0.3.5</version>
          </dependency>
          <dependency>
            <groupId>org.eclipse.sisu</groupId>
            <artifactId>org.eclipse.sisu.plexus</artifactId>
            <version>0.3.5</version>
          </dependency>
        </dependencies>
        <executions>
          <execution>
            <goals>
              <goal>build</goal>
              <goal>generate-code</goal>
              <goal>generate-code-tests</goal>
            </goals>
          </execution>
        </executions>
      </plugin>

Btw - noticed there were still some sisu 0.9.0.M2 references in the dependency tree, likt this :

[INFO] +- io.quarkus:quarkus-junit5:jar:3.6.3:test
[INFO] |  +- io.quarkus:quarkus-bootstrap-core:jar:3.6.3:test
[INFO] |  |  +- io.quarkus:quarkus-bootstrap-app-model:jar:3.6.3:test
[INFO] |  |  \- io.smallrye.common:smallrye-common-io:jar:2.1.2:compile
[INFO] |  +- org.eclipse.sisu:org.eclipse.sisu.inject:jar:0.9.0.M2:test

@teedjay
Copy link

teedjay commented Dec 29, 2023

And same result with latest Quarkus 3.6.4 and latest MacOS patch 14.2.1 (23C71).

@teedjay
Copy link

teedjay commented Jan 3, 2024

Did a bit of digging around on my two Mac's and it seems the problem is caused by a corrupt / empty Guava jar artifact in my local maven repository. By removing the affected Guava version like shown below I'm able to upgrade to Quarkus 3.6.4.

rm -Rf ~/.m2/repository/com/google/guava/guava/32.1.3-jre

@fordsworth Could it be that you got the same corruption issue?

@fordsworth
Copy link
Author

@teedjay thanks had the same issue. I ended up just cleaning the whole.m2 directory and that resolved the issue.
Strange that the files got corrupted
I think we can safely close this issue.

@gpor0
Copy link

gpor0 commented May 9, 2024

I was having the same issue on github action and quarkus:go-offine step. It has ubuntu-22.04 linux runner and empty .m2 repository. The issue was that the runner comes with java 17 (project is configured to 21 but the runner only installs dependencies). After upgrading to Java 21 (Corretto) the issue went away. Quarkus 3.8.4.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/maven kind/bug Something isn't working
Projects
None yet
Development

No branches or pull requests

8 participants