实例化客户端时发生错误
InfluxDBClientReactive influxDBClient = InfluxDBClientReactiveFactory.create(
influxConf.url(),
influxConf.username(),
influxConf.password().toCharArray());
从quarkus-bom
中排除依赖项
implementation enforcedPlatform("${quarkusPlatformGroupId}:${quarkusPlatformArtifactId}:${quarkusPlatformVersion}") {
exclude group: "com.squareup.okhttp3", module: "okhttp"
}
implementation "com.influxdb:influxdb-client-reactive:6.4.0"
否则(3.x.x(将被强制并将导致
'okhttp3.RequestBody okhttp3.RequestBody.create(java.lang.String, okhttp3.MediaType)'
java.lang.NoSuchMethodError: 'okhttp3.RequestBody okhttp3.RequestBody.create(java.lang.String, okhttp3.MediaType)
在同一行。
跟踪:
Companion
java.lang.NoSuchFieldError: Companion
at okhttp3.internal.Util.<clinit>(Util.kt:70)
at okhttp3.HttpUrl$Builder.parse$okhttp(HttpUrl.kt:1239)
at okhttp3.HttpUrl$Companion.get(HttpUrl.kt:1634)
at okhttp3.HttpUrl$Companion.parse(HttpUrl.kt:1643)
at okhttp3.HttpUrl.parse(HttpUrl.kt)
at com.influxdb.client.InfluxDBClientOptions$Builder$ParsedUrl.<init>(InfluxDBClientOptions.java:689)
at com.influxdb.client.InfluxDBClientOptions$Builder$ParsedUrl.<init>(InfluxDBClientOptions.java:681)
at com.influxdb.client.InfluxDBClientOptions$Builder.connectionString(InfluxDBClientOptions.java:504)
at com.influxdb.client.InfluxDBClientOptions$Builder.url(InfluxDBClientOptions.java:288)
at com.influxdb.client.reactive.InfluxDBClientReactiveFactory.create(InfluxDBClientReactiveFactory.java:105)
这个问题让我认为com.squareup.okio:okio
也可能在这里发挥作用。
com.squareup.okio:okio:1.17.2
--- io.quarkus:quarkus-bom:2.11.2.Final
--- runtimeClasspath
com.squareup.okio:okio:3.0.0 -> 1.17.2
--- com.squareup.okhttp3:okhttp:4.10.0
Options.of
是对该依赖关系中的方法的调用,而不是来自java的Optional
。这里没有什么奇怪的,除了为fabric8io/kubernetes客户端强制执行的一些夸克亡灵术
exclude group: "com.squareup.okio", module: "okio"
来自quarkus-bom
因此您必须覆盖Selenium正在使用的okhttp
。其中最重要的部分是覆盖或排除okio
工件,对我来说,覆盖它比排除它更安全。希望你能把我的mvn转换成gradle。
<dependency>
<groupId>com.squareup.okhttp3</groupId>
<artifactId>okhttp</artifactId>
<version>4.9.1</version>
</dependency>
<dependency>
<groupId>com.squareup.okhttp3</groupId>
<artifactId>okhttp-urlconnection</artifactId>
<version>4.9.1</version>
</dependency>
<dependency>
<groupId>com.squareup.okio</groupId>
<artifactId>okio</artifactId>
<version>2.8.0</version>
</dependency>