Skip to content

[Bug]: In Quarkus, build-time injection failure for unused beans from a2asdk libraries #213

@hakdogan

Description

@hakdogan

What happened?

I’m not sure if it’s because it wasn’t the right place, but I didn’t get a response to the issue I opened in a2a-samples. Unless I’m misjudging, the issue seems like a bug to me, which is why I wanted to share it again here.

PS: The situation I mentioned also applies to the a2a-java-reference-server artifact.

Relevant log output

[ERROR] Failed to execute goal io.quarkus:quarkus-maven-plugin:3.22.3:build (default) on project weather: Failed to build quarkus application: io.quarkus.builder.BuildException: Build failure: Build failed due to errors
[ERROR]         [error]: Build step io.quarkus.arc.deployment.ArcProcessor#validate threw an exception: jakarta.enterprise.inject.spi.DeploymentException: Found 2 deployment problems: 
[ERROR] [1] Unsatisfied dependency for type io.a2a.spec.AgentCard and qualifiers [@PublicAgentCard]
[ERROR]         - injection target: parameter 'agentCard' of io.a2a.server.requesthandlers.JSONRPCHandler constructor
[ERROR]         - declared on CLASS bean [types=[io.a2a.server.requesthandlers.JSONRPCHandler, java.lang.Object], qualifiers=[@Default, @Any], target=io.a2a.server.requesthandlers.JSONRPCHandler]
[ERROR]         The following classes match by type, but have been skipped during discovery:
[ERROR]         - io.a2a.spec.AgentCard has no bean defining annotation (scope, stereotype, etc.)
[ERROR] 
[ERROR] 
[ERROR] [2] Unsatisfied dependency for type io.a2a.server.agentexecution.AgentExecutor and qualifiers [@Default]
[ERROR]         - injection target: parameter 'agentExecutor' of io.a2a.server.requesthandlers.DefaultRequestHandler constructor
[ERROR]         - declared on CLASS bean [types=[io.a2a.server.requesthandlers.DefaultRequestHandler, java.lang.Object, io.a2a.server.requesthandlers.RequestHandler], qualifiers=[@Default, @Any], target=io.a2a.server.requesthandlers.DefaultRequestHandler]
[ERROR]         at io.quarkus.arc.processor.BeanDeployment.processErrors(BeanDeployment.java:1589)
[ERROR]         at io.quarkus.arc.processor.BeanDeployment.init(BeanDeployment.java:338)
[ERROR]         at io.quarkus.arc.processor.BeanProcessor.initialize(BeanProcessor.java:178)
[ERROR]         at io.quarkus.arc.deployment.ArcProcessor.validate(ArcProcessor.java:488)
[ERROR]         at java.base/java.lang.invoke.MethodHandle.invokeWithArguments(MethodHandle.java:733)
[ERROR]         at io.quarkus.deployment.ExtensionLoader$3.execute(ExtensionLoader.java:856)
[ERROR]         at io.quarkus.builder.BuildContext.run(BuildContext.java:255)
[ERROR]         at org.jboss.threads.ContextHandler$1.runWith(ContextHandler.java:18)
[ERROR]         at org.jboss.threads.EnhancedQueueExecutor$Task.doRunWith(EnhancedQueueExecutor.java:2675)
[ERROR]         at org.jboss.threads.EnhancedQueueExecutor$Task.run(EnhancedQueueExecutor.java:2654)
[ERROR]         at org.jboss.threads.EnhancedQueueExecutor.runThreadBody(EnhancedQueueExecutor.java:1627)
[ERROR]         at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1594)
[ERROR]         at java.base/java.lang.Thread.run(Thread.java:1570)
[ERROR]         at org.jboss.threads.JBossThread.run(JBossThread.java:499)
[ERROR]         Suppressed: jakarta.enterprise.inject.UnsatisfiedResolutionException: Unsatisfied dependency for type io.a2a.spec.AgentCard and qualifiers [@PublicAgentCard]
[ERROR]         - injection target: parameter 'agentCard' of io.a2a.server.requesthandlers.JSONRPCHandler constructor
[ERROR]         - declared on CLASS bean [types=[io.a2a.server.requesthandlers.JSONRPCHandler, java.lang.Object], qualifiers=[@Default, @Any], target=io.a2a.server.requesthandlers.JSONRPCHandler]
[ERROR]         The following classes match by type, but have been skipped during discovery:
[ERROR]         - io.a2a.spec.AgentCard has no bean defining annotation (scope, stereotype, etc.)
[ERROR] 
[ERROR] 
[ERROR]                 at io.quarkus.arc.processor.Beans.resolveInjectionPoint(Beans.java:547)
[ERROR]                 at io.quarkus.arc.processor.BeanInfo.init(BeanInfo.java:689)
[ERROR]                 at io.quarkus.arc.processor.BeanDeployment.init(BeanDeployment.java:323)
[ERROR]                 ... 12 more
[ERROR]         Suppressed: jakarta.enterprise.inject.UnsatisfiedResolutionException: Unsatisfied dependency for type io.a2a.server.agentexecution.AgentExecutor and qualifiers [@Default]
[ERROR]         - injection target: parameter 'agentExecutor' of io.a2a.server.requesthandlers.DefaultRequestHandler constructor
[ERROR]         - declared on CLASS bean [types=[io.a2a.server.requesthandlers.DefaultRequestHandler, java.lang.Object, io.a2a.server.requesthandlers.RequestHandler], qualifiers=[@Default, @Any], target=io.a2a.server.requesthandlers.DefaultRequestHandler]
[ERROR]                 at io.quarkus.arc.processor.Beans.resolveInjectionPoint(Beans.java:547)
[ERROR]                 at io.quarkus.arc.processor.BeanInfo.init(BeanInfo.java:689)
[ERROR]                 at io.quarkus.arc.processor.BeanDeployment.init(BeanDeployment.java:323)
[ERROR]                 ... 12 more

Code of Conduct

  • I agree to follow this project's Code of Conduct

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions