【发布时间】:2021-11-24 23:42:11
【问题描述】:
关注这篇关于在 quarkus 中消费 gRPC 服务的博客https://quarkus.io/guides/grpc-service-consumption
通过运行 'mvn compile' 从 api 提供者提供的 proto 文件成功生成代码。
但在尝试构建应用时出现错误
“只有 Mutiny 服务接口、阻塞存根、基于 Mutiny 和 io.grpc.Channel 的反应存根可以通过@GrpcClient 注入”
./mvnw clean package -Dmaven.test.skip
...
[error]: Build step io.quarkus.grpc.deployment.GrpcClientProcessor#discoverInjectedGrpcServices threw an exception: javax.enterprise.inject.spi.DeploymentException: ...ServiceGrpc cannot be injected into ...ServiceGrpc - only Mutiny service interfaces, blocking stubs, reactive stubs based on Mutiny and io.grpc.Channel can be injected via @GrpcClient
[ERROR] at io.quarkus.grpc.deployment.GrpcClientProcessor.invalidInjectionPoint(GrpcClientProcessor.java:282)
[ERROR] at io.quarkus.grpc.deployment.GrpcClientProcessor.discoverInjectedGrpcServices(GrpcClientProcessor.java:170)
[ERROR] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[ERROR] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
[ERROR] at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[ERROR] at java.base/java.lang.reflect.Method.invoke(Method.java:568)
[ERROR] at io.quarkus.deployment.ExtensionLoader$2.execute(ExtensionLoader.java:820)
[ERROR] at io.quarkus.builder.BuildContext.run(BuildContext.java:277)
[ERROR] at org.jboss.threads.ContextHandler$1.runWith(ContextHandler.java:18)
[ERROR] at org.jboss.threads.EnhancedQueueExecutor$Task.run(EnhancedQueueExecutor.java:2449)
[ERROR] at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1478)
[ERROR] at java.base/java.lang.Thread.run(Thread.java:833)
[ERROR] at org.jboss.threads.JBossThread.run(JBossThread.java:501)
【问题讨论】:
-
你已经编辑了错误信息,所以我不能参考类名,但是你能把第一个
...GrpcService源代码的相关部分显示出来吗? -
实际上我能够构建应用程序。请参阅下面代码中有关问题原因的评论。但我还没有功能齐全的 bean,请参阅代码中的 cmets 并帮助我找出错误。
-
请澄清您的具体问题或提供其他详细信息以准确突出您的需求。正如目前所写的那样,很难准确地说出你在问什么。
标签: java maven-plugin quarkus quarkus-grpc