Spring boot 使用Google云发布/订阅消息订阅者实现时,Spring引导bean无法创建

Spring boot 使用Google云发布/订阅消息订阅者实现时,Spring引导bean无法创建,spring-boot,netty,grpc,google-cloud-pubsub,Spring Boot,Netty,Grpc,Google Cloud Pubsub,我正在尝试运行一个项目,该项目有SpringBoot,GoogleCloudPub/Sub和订户实现,它给出了以下错误 原因:org.springframework.beans.factory.BeanCreationException:创建URL[jar:file:pubsubproducter.class]中定义的名为\u0027pubsubproducter\u0027的bean时出错:bean初始化失败;嵌套异常为java.lang.IllegalStateException:找不到TL

我正在尝试运行一个项目,该项目有SpringBoot,GoogleCloudPub/Sub和订户实现,它给出了以下错误

原因:org.springframework.beans.factory.BeanCreationException:创建URL[jar:file:pubsubproducter.class]中定义的名为\u0027pubsubproducter\u0027的bean时出错:bean初始化失败;嵌套异常为java.lang.IllegalStateException:找不到TLS ALPN提供程序;无可用的netty tcnative、Conscrypt或Jetty NPN/ALPN
位于org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:584)
位于org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:498)
位于org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:320)
位于org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
位于org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:318)
位于org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199)
位于org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:277)
位于org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1244)
位于org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1164)
位于org.springframework.beans.factory.annotation.AutoWiredNotationBeanPostProcessor$AutoWiredFeldElement.inject(AutoWiredNotationBeanPostProcessor.java:593)
... 省略了27个公共框架
原因:java.lang.IllegalStateException:找不到TLS ALPN提供程序;无可用的netty tcnative、Conscrypt或Jetty NPN/ALPN
位于io.grpc.netty.shaded.io.grpc.netty.GrpcSslContexts.defaultSslProvider(GrpcSslContexts.java:258)
在io.grpc.netty.shaded.io.grpc.netty.GrpcSslContexts.configure中(GrpcSslContexts.java:171)
位于io.grpc.netty.shaded.io.grpc.netty.GrpcSslContexts.forClient(GrpcSslContexts.java:120)
位于io.grpc.netty.shaded.io.grpc.netty.NettyChannelBuilder.buildTransportFactory(NettyChannelBuilder.java:436)
位于io.grpc.internal.AbstractManagedChannelImplBuilder.build(AbstractManagedChannelImplBuilder.java:509)
位于com.google.api.gax.grpc.instantinggrpcchannelprovider.createSingleChannel(instantinggrpcchannelprovider.java:223)
位于com.google.api.gax.grpc.instantinggrpcchannelprovider.createChannel(instantinggrpcchannelprovider.java:169)
位于com.google.api.gax.grpc.instantinggrpcchannelprovider.getTransportChannel(instantinggrpcchannelprovider.java:156)
在com.google.api.gax.rpc.ClientContext.create(ClientContext.java:157)上
位于com.google.cloud.pubsub.v1.stub.GrpcPublisherStub.create(GrpcPublisherStub.java:164)
在com.google.cloud.pubsub.v1.Publisher上。\u003cinit\u003e(Publisher.java:152)
位于com.google.cloud.pubsub.v1.Publisher。\u003cinit\u003e(Publisher.java:82)
位于com.google.cloud.pubsub.v1.Publisher$Builder.build(Publisher.java:597)
我本来可以运行这个项目,但有些事情发生了变化,现在我无法在Linux Fedora 30机器上运行它,但在Windows上运行良好,我已经查看了可能触发此问题的原因,但他们说我有不同版本的
grpc netty
grpc netty shade
,但它们是相同的
1.21.0

另外,我只使用了
谷歌云pubsub客户端
,对其版本没有控制权。我是否也需要在本地安装as软件包?我在RPM中为grpc和netty找到了一些

非常感谢您的帮助,如果您还需要其他帮助,请留言


谢谢

因为没有人回答我的问题,我会把它放在以后的参考中


当我在Fedora 30上时,它丢失了一个库
libxcrypt compat
,安装后,构建成功运行。

我不得不从dockerfile中的openjdk/openjdk8:alpine slim切换到不同的基本映像
,而不是openjdk one,并激活我的nodepool的Pubsub权限。我没有访问dockerfile的权限