My Parent project has springboot 2.0.6 and when I tried to use azure-spring-boot-starter-keyvault-secrets, the application failed to start with ClassNotFoundException.
Spring Initializr says keyvault Requires "SpringBoot version >= 2.0.0.RELEASE and < 2.4.0.M1.". Your help is appreciated to figure out what am I doing wrong!
Full stack trace is as follows:
java.lang.NoClassDefFoundError: reactor/core/CorePublisher
at reactor.netty.ConnectionObserver.emptyListener(ConnectionObserver.java:42)
at reactor.netty.channel.BootstrapHandlers.connectionObserver(BootstrapHandlers.java:265)
at reactor.netty.http.client.HttpClientDoOn.apply(HttpClientDoOn.java:61)
at reactor.netty.http.client.HttpClientDoOn.apply(HttpClientDoOn.java:33)
at reactor.netty.tcp.TcpClientBootstrap.configure(TcpClientBootstrap.java:39)
at reactor.netty.tcp.TcpClientBootstrap.configure(TcpClientBootstrap.java:39)
at reactor.netty.tcp.TcpClientBootstrap.configure(TcpClientBootstrap.java:39)
at reactor.netty.tcp.TcpClientBootstrap.configure(TcpClientBootstrap.java:39)
at reactor.netty.tcp.TcpClientBootstrap.configure(TcpClientBootstrap.java:39)
at reactor.netty.tcp.TcpClientBootstrap.configure(TcpClientBootstrap.java:39)
at reactor.netty.tcp.TcpClientBootstrap.configure(TcpClientBootstrap.java:39)
at reactor.netty.tcp.TcpClient.connect(TcpClient.java:212)
at reactor.netty.http.client.HttpClientFinalizer.connect(HttpClientFinalizer.java:80)
at reactor.netty.http.client.HttpClientFinalizer.responseConnection(HttpClientFinalizer.java:97)
at com.azure.core.http.netty.NettyAsyncHttpClient.send(NettyAsyncHttpClient.java:82)
at com.azure.core.http.HttpPipelineNextPolicy.process(HttpPipelineNextPolicy.java:44)
at com.azure.core.http.policy.HttpLoggingPolicy.process(HttpLoggingPolicy.java:83)
at com.azure.core.http.HttpPipelineNextPolicy.process(HttpPipelineNextPolicy.java:46)
at com.azure.security.keyvault.secrets.implementation.KeyVaultCredentialPolicy.process(KeyVaultCredentialPolicy.java:56)
at com.azure.core.http.HttpPipelineNextPolicy.process(HttpPipelineNextPolicy.java:46)
at com.azure.core.http.policy.RetryPolicy.attemptAsync(RetryPolicy.java:98)
at com.azure.core.http.policy.RetryPolicy.process(RetryPolicy.java:91)
at com.azure.core.http.HttpPipelineNextPolicy.process(HttpPipelineNextPolicy.java:46)
at com.azure.core.http.policy.UserAgentPolicy.process(UserAgentPolicy.java:122)
at com.azure.core.http.HttpPipelineNextPolicy.process(HttpPipelineNextPolicy.java:46)
at com.azure.core.http.HttpPipeline.lambda$send$0(HttpPipeline.java:103)
at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:45)
at reactor.core.publisher.MonoMap.subscribe(MonoMap.java:55)
at reactor.core.publisher.MonoFlatMap.subscribe(MonoFlatMap.java:60)
at reactor.core.publisher.MonoDoOnEach.subscribe(MonoDoOnEach.java:44)
at reactor.core.publisher.MonoSubscriberContext.subscribe(MonoSubscriberContext.java:47)
at reactor.core.publisher.MonoFlatMap.subscribe(MonoFlatMap.java:60)
at reactor.core.publisher.MonoPeekFuseable.subscribe(MonoPeekFuseable.java:70)
at reactor.core.publisher.MonoPeekTerminal.subscribe(MonoPeekTerminal.java:61)
at reactor.core.publisher.MonoPeekFuseable.subscribe(MonoPeekFuseable.java:74)
at reactor.core.publisher.FluxSourceMonoFuseable.subscribe(FluxSourceMonoFuseable.java:38)
at reactor.core.publisher.FluxMapFuseable.subscribe(FluxMapFuseable.java:63)
at reactor.core.publisher.Flux.blockLast(Flux.java:2051)
at com.azure.core.util.paging.ContinuablePagedByIteratorBase.requestPage(ContinuablePagedByIteratorBase.java:94)
at com.azure.core.util.paging.ContinuablePagedByPageIterable$ContinuablePagedByPageIterator.<init>(ContinuablePagedByPageIterable.java:49)
at com.azure.core.util.paging.ContinuablePagedByPageIterable.iterator(ContinuablePagedByPageIterable.java:37)
at java.lang.Iterable.spliterator(Iterable.java:101)
at com.azure.spring.keyvault.KeyVaultOperation.lambda$refreshProperties$2(KeyVaultOperation.java:142)
at java.util.Optional.map(Optional.java:215)
at com.azure.spring.keyvault.KeyVaultOperation.refreshProperties(KeyVaultOperation.java:142)
at com.azure.spring.keyvault.KeyVaultOperation.<init>(KeyVaultOperation.java:80)
at com.azure.spring.keyvault.KeyVaultEnvironmentPostProcessorHelper.addKeyVaultPropertySource(KeyVaultEnvironmentPostProcessorHelper.java:101)
at com.azure.spring.keyvault.KeyVaultEnvironmentPostProcessor.postProcessEnvironment(KeyVaultEnvironmentPostProcessor.java:47)
at org.springframework.boot.context.config.ConfigFileApplicationListener.onApplicationEnvironmentPreparedEvent(ConfigFileApplicationListener.java:185)
at org.springframework.boot.context.config.ConfigFileApplicationListener.onApplicationEvent(ConfigFileApplicationListener.java:171)
at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:172)
at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:165)
at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:139)
at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:127)
at org.springframework.boot.context.event.EventPublishingRunListener.environmentPrepared(EventPublishingRunListener.java:74)
at org.springframework.boot.SpringApplicationRunListeners.environmentPrepared(SpringApplicationRunListeners.java:54)
at org.springframework.boot.SpringApplication.prepareEnvironment(SpringApplication.java:338)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:297)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1242)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1230)
at com.example.demo.DemoApplication.main(DemoApplication.java:15)
question from:
https://stackoverflow.com/questions/66049166/azure-keyvault-springboot-integration-which-is-the-minimum-supported-springb 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…