Closed
Description
Expected Behavior
Being able to construct a DaprClient
by using new DaprClientBuilder().build()
.
Actual Behavior
Instead of being able to construct a new instance, the application crashes with the following stacktrace:
Caused by: java.lang.NoSuchFieldError: okhttp3/RequestBody.Companion
at io.dapr.client.DaprHttp.<clinit>(DaprHttp.java:108) ~[dapr-sdk-1.1.0-SNAPSHOT.jar:na]
at io.dapr.client.DaprHttpBuilder.buildDaprHttp(DaprHttpBuilder.java:57) ~[dapr-sdk-1.1.0-SNAPSHOT.jar:na]
at io.dapr.client.DaprHttpBuilder.build(DaprHttpBuilder.java:36) ~[dapr-sdk-1.1.0-SNAPSHOT.jar:na]
at io.dapr.client.DaprClientBuilder.buildDaprClientHttp(DaprClientBuilder.java:160) ~[dapr-sdk-1.1.0-SNAPSHOT.jar:na]
at io.dapr.client.DaprClientBuilder.buildDaprClient(DaprClientBuilder.java:127) ~[dapr-sdk-1.1.0-SNAPSHOT.jar:na]
at io.dapr.client.DaprClientBuilder.build(DaprClientBuilder.java:107) ~[dapr-sdk-1.1.0-SNAPSHOT.jar:na]
at com.dapr.backendservice.ApplicationConfiguration.daprClient(ApplicationConfiguration.java:13) ~[classes/:na]
at com.dapr.backendservice.ApplicationConfiguration$$EnhancerBySpringCGLIB$$667a9fdc.CGLIB$daprClient$0(<generated>) ~[classes/:na]
at com.dapr.backendservice.ApplicationConfiguration$$EnhancerBySpringCGLIB$$667a9fdc$$FastClassBySpringCGLIB$$86e422be.invoke(<generated>) ~[classes/:na]
at org.springframework.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:244) ~[spring-core-5.3.4.jar:5.3.4]
at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:331) ~[spring-context-5.3.4.jar:5.3.4]
at com.dapr.backendservice.ApplicationConfiguration$$EnhancerBySpringCGLIB$$667a9fdc.daprClient(<generated>) ~[classes/:na]
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na]
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:na]
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:na]
at java.base/java.lang.reflect.Method.invoke(Method.java:566) ~[na:na]
at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:154) ~[spring-beans-5.3.4.jar:5.3.4]
... 22 common frames omitted
Process finished with exit code 1
Steps to Reproduce the Problem
I created a very small Spring Boot application that creates a DaprClient
upon starting up as a bean.
The application has the following (relevant) dependencies:
<properties>
<java.version>11</java.version>
<dapr.version>1.1.0-SNAPSHOT</dapr.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>io.dapr</groupId>
<artifactId>dapr-sdk</artifactId>
<version>${dapr.version}</version>
</dependency>
<dependency>
<groupId>io.dapr</groupId>
<artifactId>dapr-sdk-springboot</artifactId>
<version>${dapr.version}</version>
</dependency>
</dependencies>
And I added the following configuration:
@Configuration
public class ApplicationConfiguration {
@Bean
public DaprClient daprClient() {
return new DaprClientBuilder().build();
}
}
When I start my application, it crashes. Tried with both dapr version 1.0.0
and 1.1.0-SNAPSHOT
.
Release Note
RELEASE NOTE: FIX Bug in construction of HTTP client.