Closed nmolenaar closed 10 months ago
this sounds like a dependency mismatch. which version of kotlinx.coroutines are you using at runtime?
This is my entire build.gradle.kts @lukellmann
plugins {
id("org.springframework.boot") version "3.1.5"
id("io.spring.dependency-management") version "1.1.3"
kotlin("jvm") version "1.9.0"
kotlin("plugin.spring") version "1.9.0"
kotlin("plugin.jpa") version "1.9.0"
kotlin("plugin.serialization") version "1.9.0"
}
version = "0.0.1"
java {
sourceCompatibility = JavaVersion.VERSION_17
}
repositories {
mavenCentral()
maven("https://oss.sonatype.org/content/repositories/snapshots")
}
dependencies {
// discord bot
implementation("dev.kord:kord-common:0.12.0")
implementation("dev.kord:kord-gateway:0.12.0")
implementation("dev.kord:kord-core:0.12.0")
// General dependencies
implementation("org.jetbrains.kotlin:kotlin-reflect")
implementation("org.springframework.boot:spring-boot-starter-actuator")
implementation("org.springframework.boot:spring-boot-starter-webflux")
implementation("org.springframework.boot:spring-boot-starter-security")
// Database dependencies
implementation("org.springframework.boot:spring-boot-starter-data-jpa")
implementation("org.postgresql:postgresql")
// Logging
implementation("io.github.microutils:kotlin-logging:3.0.5")
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-slf4j")
implementation("net.logstash.logback:logstash-logback-encoder:+")
compileOnly("org.springframework.boot:spring-boot-devtools")
}
tasks.register<Copy>("getDependencies"){
from(sourceSets.main.get().runtimeClasspath)
into("runtime/")
doFirst {
val runtimeDir = File("runtime")
runtimeDir.deleteRecursively()
runtimeDir.mkdirs()
}
doLast {
File("runtime").deleteRecursively()
}
}
tasks.withType<Test> {
useJUnitPlatform()
}
https://docs.gradle.org/current/userguide/viewing_debugging_dependencies.html
kord 0.12.0
expects org.jetbrains.kotlinx:kotlinx-coroutines-core
>= 1.7.3
so running ./gradlew dependencyInsight --dependency org.jetbrains.kotlinx:kotlinx-coroutines-core
should show what is used
There seem to be a mix between 1.6.4 1.7.1 1.7.3
➜ ./gradlew dependencyInsight --dependency org.jetbrains.kotlinx:kotlinx-coroutines-core
> Task :dependencyInsight
org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.3
Variant jvmApiElements-published:
| Attribute Name | Provided | Requested |
|------------------------------------|----------|--------------|
| org.gradle.status | release | |
| org.gradle.category | library | library |
| org.gradle.libraryelements | jar | classes |
| org.gradle.usage | java-api | java-api |
| org.jetbrains.kotlin.platform.type | jvm | jvm |
| org.gradle.dependency.bundling | | external |
| org.gradle.jvm.environment | | standard-jvm |
| org.gradle.jvm.version | | 17 |
Selection reasons:
- Selected by rule
- By constraint
org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.3
+--- compileClasspath
+--- dev.kord:kord-common-jvm:0.12.0
| \--- dev.kord:kord-common:0.12.0
| +--- compileClasspath
| +--- dev.kord:kord-core-jvm:0.12.0
| | \--- dev.kord:kord-core:0.12.0
| | \--- compileClasspath
| +--- dev.kord:kord-gateway-jvm:0.12.0
| | \--- dev.kord:kord-gateway:0.12.0
| | +--- compileClasspath
| | \--- dev.kord:kord-core-jvm:0.12.0 (*)
| \--- dev.kord:kord-rest-jvm:0.12.0
| \--- dev.kord:kord-rest:0.12.0
| \--- dev.kord:kord-core-jvm:0.12.0 (*)
+--- org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.7.3
| +--- org.jetbrains.kotlinx:kotlinx-coroutines-slf4j:1.6.4 (requested org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.6.4)
| | +--- compileClasspath (requested org.jetbrains.kotlinx:kotlinx-coroutines-slf4j)
| | \--- org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.7.3 (requested org.jetbrains.kotlinx:kotlinx-coroutines-slf4j:1.7.3) (*)
| +--- org.jetbrains.kotlinx:kotlinx-coroutines-reactive:1.6.4 (requested org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.6.4)
| | +--- org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.7.3 (requested org.jetbrains.kotlinx:kotlinx-coroutines-reactive:1.7.3) (*)
| | \--- org.jetbrains.kotlinx:kotlinx-coroutines-reactor:1.7.3 (requested org.jetbrains.kotlinx:kotlinx-coroutines-reactive:1.7.3)
| | +--- compileClasspath
| | \--- org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.7.3 (*)
| +--- org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.6.4 (requested org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.6.4)
| | +--- io.ktor:ktor-client-cio-jvm:2.3.6 (requested org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.7.1)
| | | \--- io.ktor:ktor-client-cio:2.3.6
| | | \--- dev.kord:kord-common-jvm:0.12.0 (*)
| | +--- io.ktor:ktor-client-content-negotiation-jvm:2.3.6 (requested org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.7.1)
| | | \--- io.ktor:ktor-client-content-negotiation:2.3.6
| | | +--- dev.kord:kord-gateway-jvm:0.12.0 (*)
| | | \--- dev.kord:kord-rest-jvm:0.12.0 (*)
| | +--- io.ktor:ktor-client-websockets-jvm:2.3.6 (requested org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.7.1)
| | | \--- io.ktor:ktor-client-websockets:2.3.6
| | | \--- dev.kord:kord-gateway-jvm:0.12.0 (*)
| | +--- io.ktor:ktor-client-core-jvm:2.3.6 (requested org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.7.1)
| | | \--- io.ktor:ktor-client-core:2.3.6
| | | +--- dev.kord:kord-common-jvm:0.12.0 (*)
| | | +--- io.ktor:ktor-client-cio-jvm:2.3.6 (*)
| | | +--- io.ktor:ktor-client-content-negotiation-jvm:2.3.6 (*)
| | | \--- io.ktor:ktor-client-websockets-jvm:2.3.6 (*)
| | +--- io.ktor:ktor-serialization-kotlinx-json-jvm:2.3.6 (requested org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.7.1)
| | | \--- io.ktor:ktor-serialization-kotlinx-json:2.3.6
| | | +--- dev.kord:kord-gateway-jvm:0.12.0 (*)
| | | \--- dev.kord:kord-rest-jvm:0.12.0 (*)
| | +--- io.ktor:ktor-http-cio-jvm:2.3.6 (requested org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.7.1)
| | | \--- io.ktor:ktor-http-cio:2.3.6
| | | \--- io.ktor:ktor-client-cio-jvm:2.3.6 (*)
| | +--- io.ktor:ktor-websocket-serialization-jvm:2.3.6 (requested org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.7.1)
| | | \--- io.ktor:ktor-websocket-serialization:2.3.6
| | | \--- io.ktor:ktor-client-core-jvm:2.3.6 (*)
| | +--- io.ktor:ktor-serialization-kotlinx-jvm:2.3.6 (requested org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.7.1)
| | | \--- io.ktor:ktor-serialization-kotlinx:2.3.6
| | | \--- io.ktor:ktor-serialization-kotlinx-json-jvm:2.3.6 (*)
| | +--- io.ktor:ktor-serialization-jvm:2.3.6 (requested org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.7.1)
| | | \--- io.ktor:ktor-serialization:2.3.6
| | | +--- io.ktor:ktor-client-content-negotiation-jvm:2.3.6 (*)
| | | +--- io.ktor:ktor-websocket-serialization-jvm:2.3.6 (*)
| | | \--- io.ktor:ktor-serialization-kotlinx-jvm:2.3.6 (*)
| | +--- io.ktor:ktor-websockets-jvm:2.3.6 (requested org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.7.1)
| | | \--- io.ktor:ktor-websockets:2.3.6
| | | +--- io.ktor:ktor-client-cio-jvm:2.3.6 (*)
| | | \--- io.ktor:ktor-serialization-jvm:2.3.6 (*)
| | +--- io.ktor:ktor-network-tls-jvm:2.3.6 (requested org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.7.1)
| | | \--- io.ktor:ktor-network-tls:2.3.6
| | | \--- io.ktor:ktor-client-cio-jvm:2.3.6 (*)
| | +--- io.ktor:ktor-events-jvm:2.3.6 (requested org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.7.1)
| | | \--- io.ktor:ktor-events:2.3.6
| | | \--- io.ktor:ktor-client-core-jvm:2.3.6 (*)
| | +--- io.ktor:ktor-http-jvm:2.3.6 (requested org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.7.1)
| | | \--- io.ktor:ktor-http:2.3.6
| | | +--- io.ktor:ktor-client-core-jvm:2.3.6 (*)
| | | +--- io.ktor:ktor-serialization-kotlinx-json-jvm:2.3.6 (*)
| | | +--- io.ktor:ktor-http-cio-jvm:2.3.6 (*)
| | | +--- io.ktor:ktor-websocket-serialization-jvm:2.3.6 (*)
| | | +--- io.ktor:ktor-serialization-kotlinx-jvm:2.3.6 (*)
| | | +--- io.ktor:ktor-serialization-jvm:2.3.6 (*)
| | | +--- io.ktor:ktor-websockets-jvm:2.3.6 (*)
| | | +--- io.ktor:ktor-network-tls-jvm:2.3.6 (*)
| | | \--- io.ktor:ktor-events-jvm:2.3.6 (*)
| | +--- io.ktor:ktor-network-jvm:2.3.6 (requested org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.7.1)
| | | \--- io.ktor:ktor-network:2.3.6
| | | +--- io.ktor:ktor-http-cio-jvm:2.3.6 (*)
| | | \--- io.ktor:ktor-network-tls-jvm:2.3.6 (*)
| | +--- io.ktor:ktor-utils-jvm:2.3.6 (requested org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.7.1)
| | | \--- io.ktor:ktor-utils:2.3.6
| | | +--- io.ktor:ktor-network-tls-jvm:2.3.6 (*)
| | | +--- io.ktor:ktor-events-jvm:2.3.6 (*)
| | | +--- io.ktor:ktor-http-jvm:2.3.6 (*)
| | | \--- io.ktor:ktor-network-jvm:2.3.6 (*)
| | +--- io.ktor:ktor-io-jvm:2.3.6 (requested org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.7.1)
| | | \--- io.ktor:ktor-io:2.3.6
| | | \--- io.ktor:ktor-utils-jvm:2.3.6 (*)
| | \--- org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.7.3 (requested org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.7.3) (*)
| +--- org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.6.4 (requested org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.6.4)
| | +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.3 (requested org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.7.3) (*)
| | \--- org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.7.3 (requested org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.7.3) (*)
| \--- org.jetbrains.kotlinx:kotlinx-coroutines-reactor:1.7.3 (*)
\--- org.jetbrains.kotlinx:kotlinx-coroutines-reactor:1.7.3 (*)
org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.4 -> 1.7.3
+--- dev.kord.cache:cache-api-jvm:0.4.0
| \--- dev.kord.cache:cache-api:0.4.0
| +--- dev.kord:kord-core-jvm:0.12.0
| | \--- dev.kord:kord-core:0.12.0
| | \--- compileClasspath
| \--- dev.kord.cache:cache-map-jvm:0.4.0
| \--- dev.kord.cache:cache-map:0.4.0
| \--- dev.kord:kord-core-jvm:0.12.0 (*)
+--- org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.6.4
| +--- io.ktor:ktor-client-cio-jvm:2.3.6 (requested org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.7.1)
| | \--- io.ktor:ktor-client-cio:2.3.6
| | \--- dev.kord:kord-common-jvm:0.12.0
| | \--- dev.kord:kord-common:0.12.0
| | +--- compileClasspath
| | +--- dev.kord:kord-core-jvm:0.12.0 (*)
| | +--- dev.kord:kord-gateway-jvm:0.12.0
| | | \--- dev.kord:kord-gateway:0.12.0
| | | +--- compileClasspath
| | | \--- dev.kord:kord-core-jvm:0.12.0 (*)
| | \--- dev.kord:kord-rest-jvm:0.12.0
| | \--- dev.kord:kord-rest:0.12.0
| | \--- dev.kord:kord-core-jvm:0.12.0 (*)
| +--- io.ktor:ktor-client-content-negotiation-jvm:2.3.6 (requested org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.7.1)
| | \--- io.ktor:ktor-client-content-negotiation:2.3.6
| | +--- dev.kord:kord-gateway-jvm:0.12.0 (*)
| | \--- dev.kord:kord-rest-jvm:0.12.0 (*)
| +--- io.ktor:ktor-client-websockets-jvm:2.3.6 (requested org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.7.1)
| | \--- io.ktor:ktor-client-websockets:2.3.6
| | \--- dev.kord:kord-gateway-jvm:0.12.0 (*)
| +--- io.ktor:ktor-client-core-jvm:2.3.6 (requested org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.7.1)
| | \--- io.ktor:ktor-client-core:2.3.6
| | +--- dev.kord:kord-common-jvm:0.12.0 (*)
| | +--- io.ktor:ktor-client-cio-jvm:2.3.6 (*)
| | +--- io.ktor:ktor-client-content-negotiation-jvm:2.3.6 (*)
| | \--- io.ktor:ktor-client-websockets-jvm:2.3.6 (*)
| +--- io.ktor:ktor-serialization-kotlinx-json-jvm:2.3.6 (requested org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.7.1)
| | \--- io.ktor:ktor-serialization-kotlinx-json:2.3.6
| | +--- dev.kord:kord-gateway-jvm:0.12.0 (*)
| | \--- dev.kord:kord-rest-jvm:0.12.0 (*)
| +--- io.ktor:ktor-http-cio-jvm:2.3.6 (requested org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.7.1)
| | \--- io.ktor:ktor-http-cio:2.3.6
| | \--- io.ktor:ktor-client-cio-jvm:2.3.6 (*)
| +--- io.ktor:ktor-websocket-serialization-jvm:2.3.6 (requested org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.7.1)
| | \--- io.ktor:ktor-websocket-serialization:2.3.6
| | \--- io.ktor:ktor-client-core-jvm:2.3.6 (*)
| +--- io.ktor:ktor-serialization-kotlinx-jvm:2.3.6 (requested org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.7.1)
| | \--- io.ktor:ktor-serialization-kotlinx:2.3.6
| | \--- io.ktor:ktor-serialization-kotlinx-json-jvm:2.3.6 (*)
| +--- io.ktor:ktor-serialization-jvm:2.3.6 (requested org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.7.1)
| | \--- io.ktor:ktor-serialization:2.3.6
| | +--- io.ktor:ktor-client-content-negotiation-jvm:2.3.6 (*)
| | +--- io.ktor:ktor-websocket-serialization-jvm:2.3.6 (*)
| | \--- io.ktor:ktor-serialization-kotlinx-jvm:2.3.6 (*)
| +--- io.ktor:ktor-websockets-jvm:2.3.6 (requested org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.7.1)
| | \--- io.ktor:ktor-websockets:2.3.6
| | +--- io.ktor:ktor-client-cio-jvm:2.3.6 (*)
| | \--- io.ktor:ktor-serialization-jvm:2.3.6 (*)
| +--- io.ktor:ktor-network-tls-jvm:2.3.6 (requested org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.7.1)
| | \--- io.ktor:ktor-network-tls:2.3.6
| | \--- io.ktor:ktor-client-cio-jvm:2.3.6 (*)
| +--- io.ktor:ktor-events-jvm:2.3.6 (requested org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.7.1)
| | \--- io.ktor:ktor-events:2.3.6
| | \--- io.ktor:ktor-client-core-jvm:2.3.6 (*)
| +--- io.ktor:ktor-http-jvm:2.3.6 (requested org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.7.1)
| | \--- io.ktor:ktor-http:2.3.6
| | +--- io.ktor:ktor-client-core-jvm:2.3.6 (*)
| | +--- io.ktor:ktor-serialization-kotlinx-json-jvm:2.3.6 (*)
| | +--- io.ktor:ktor-http-cio-jvm:2.3.6 (*)
| | +--- io.ktor:ktor-websocket-serialization-jvm:2.3.6 (*)
| | +--- io.ktor:ktor-serialization-kotlinx-jvm:2.3.6 (*)
| | +--- io.ktor:ktor-serialization-jvm:2.3.6 (*)
| | +--- io.ktor:ktor-websockets-jvm:2.3.6 (*)
| | +--- io.ktor:ktor-network-tls-jvm:2.3.6 (*)
| | \--- io.ktor:ktor-events-jvm:2.3.6 (*)
| +--- io.ktor:ktor-network-jvm:2.3.6 (requested org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.7.1)
| | \--- io.ktor:ktor-network:2.3.6
| | +--- io.ktor:ktor-http-cio-jvm:2.3.6 (*)
| | \--- io.ktor:ktor-network-tls-jvm:2.3.6 (*)
| +--- io.ktor:ktor-utils-jvm:2.3.6 (requested org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.7.1)
| | \--- io.ktor:ktor-utils:2.3.6
| | +--- io.ktor:ktor-network-tls-jvm:2.3.6 (*)
| | +--- io.ktor:ktor-events-jvm:2.3.6 (*)
| | +--- io.ktor:ktor-http-jvm:2.3.6 (*)
| | \--- io.ktor:ktor-network-jvm:2.3.6 (*)
| +--- io.ktor:ktor-io-jvm:2.3.6 (requested org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.7.1)
| | \--- io.ktor:ktor-io:2.3.6
| | \--- io.ktor:ktor-utils-jvm:2.3.6 (*)
| \--- org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.7.3 (requested org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.7.3)
| +--- org.jetbrains.kotlinx:kotlinx-coroutines-slf4j:1.6.4 (requested org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.6.4)
| | +--- compileClasspath (requested org.jetbrains.kotlinx:kotlinx-coroutines-slf4j)
| | \--- org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.7.3 (requested org.jetbrains.kotlinx:kotlinx-coroutines-slf4j:1.7.3) (*)
| +--- org.jetbrains.kotlinx:kotlinx-coroutines-reactive:1.6.4 (requested org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.6.4)
| | +--- org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.7.3 (requested org.jetbrains.kotlinx:kotlinx-coroutines-reactive:1.7.3) (*)
| | \--- org.jetbrains.kotlinx:kotlinx-coroutines-reactor:1.7.3 (requested org.jetbrains.kotlinx:kotlinx-coroutines-reactive:1.7.3)
| | +--- compileClasspath
| | \--- org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.7.3 (*)
| +--- org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.6.4 (requested org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.6.4) (*)
| +--- org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.6.4 (requested org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.6.4)
| | +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.3 (requested org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.7.3) (*)
| | \--- org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.7.3 (requested org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.7.3) (*)
| \--- org.jetbrains.kotlinx:kotlinx-coroutines-reactor:1.7.3 (*)
+--- org.jetbrains.kotlinx:kotlinx-coroutines-reactive:1.6.4 (*)
\--- org.jetbrains.kotlinx:kotlinx-coroutines-slf4j:1.6.4 (*)
org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.1 -> 1.7.3
+--- io.ktor:ktor-client-cio-jvm:2.3.6
| \--- io.ktor:ktor-client-cio:2.3.6
| \--- dev.kord:kord-common-jvm:0.12.0
| \--- dev.kord:kord-common:0.12.0
| +--- compileClasspath
| +--- dev.kord:kord-core-jvm:0.12.0
| | \--- dev.kord:kord-core:0.12.0
| | \--- compileClasspath
| +--- dev.kord:kord-gateway-jvm:0.12.0
| | \--- dev.kord:kord-gateway:0.12.0
| | +--- compileClasspath
| | \--- dev.kord:kord-core-jvm:0.12.0 (*)
| \--- dev.kord:kord-rest-jvm:0.12.0
| \--- dev.kord:kord-rest:0.12.0
| \--- dev.kord:kord-core-jvm:0.12.0 (*)
+--- io.ktor:ktor-client-content-negotiation-jvm:2.3.6
| \--- io.ktor:ktor-client-content-negotiation:2.3.6
| +--- dev.kord:kord-gateway-jvm:0.12.0 (*)
| \--- dev.kord:kord-rest-jvm:0.12.0 (*)
+--- io.ktor:ktor-client-core-jvm:2.3.6
| \--- io.ktor:ktor-client-core:2.3.6
| +--- dev.kord:kord-common-jvm:0.12.0 (*)
| +--- io.ktor:ktor-client-cio-jvm:2.3.6 (*)
| +--- io.ktor:ktor-client-content-negotiation-jvm:2.3.6 (*)
| \--- io.ktor:ktor-client-websockets-jvm:2.3.6
| \--- io.ktor:ktor-client-websockets:2.3.6
| \--- dev.kord:kord-gateway-jvm:0.12.0 (*)
+--- io.ktor:ktor-client-websockets-jvm:2.3.6 (*)
+--- io.ktor:ktor-events-jvm:2.3.6
| \--- io.ktor:ktor-events:2.3.6
| \--- io.ktor:ktor-client-core-jvm:2.3.6 (*)
+--- io.ktor:ktor-http-cio-jvm:2.3.6
| \--- io.ktor:ktor-http-cio:2.3.6
| \--- io.ktor:ktor-client-cio-jvm:2.3.6 (*)
+--- io.ktor:ktor-http-jvm:2.3.6
| \--- io.ktor:ktor-http:2.3.6
| +--- io.ktor:ktor-client-core-jvm:2.3.6 (*)
| +--- io.ktor:ktor-serialization-kotlinx-json-jvm:2.3.6
| | \--- io.ktor:ktor-serialization-kotlinx-json:2.3.6
| | +--- dev.kord:kord-gateway-jvm:0.12.0 (*)
| | \--- dev.kord:kord-rest-jvm:0.12.0 (*)
| +--- io.ktor:ktor-http-cio-jvm:2.3.6 (*)
| +--- io.ktor:ktor-websocket-serialization-jvm:2.3.6
| | \--- io.ktor:ktor-websocket-serialization:2.3.6
| | \--- io.ktor:ktor-client-core-jvm:2.3.6 (*)
| +--- io.ktor:ktor-serialization-kotlinx-jvm:2.3.6
| | \--- io.ktor:ktor-serialization-kotlinx:2.3.6
| | \--- io.ktor:ktor-serialization-kotlinx-json-jvm:2.3.6 (*)
| +--- io.ktor:ktor-serialization-jvm:2.3.6
| | \--- io.ktor:ktor-serialization:2.3.6
| | +--- io.ktor:ktor-client-content-negotiation-jvm:2.3.6 (*)
| | +--- io.ktor:ktor-websocket-serialization-jvm:2.3.6 (*)
| | \--- io.ktor:ktor-serialization-kotlinx-jvm:2.3.6 (*)
| +--- io.ktor:ktor-websockets-jvm:2.3.6
| | \--- io.ktor:ktor-websockets:2.3.6
| | +--- io.ktor:ktor-client-cio-jvm:2.3.6 (*)
| | \--- io.ktor:ktor-serialization-jvm:2.3.6 (*)
| +--- io.ktor:ktor-network-tls-jvm:2.3.6
| | \--- io.ktor:ktor-network-tls:2.3.6
| | \--- io.ktor:ktor-client-cio-jvm:2.3.6 (*)
| \--- io.ktor:ktor-events-jvm:2.3.6 (*)
+--- io.ktor:ktor-io-jvm:2.3.6
| \--- io.ktor:ktor-io:2.3.6
| \--- io.ktor:ktor-utils-jvm:2.3.6
| \--- io.ktor:ktor-utils:2.3.6
| +--- io.ktor:ktor-network-tls-jvm:2.3.6 (*)
| +--- io.ktor:ktor-events-jvm:2.3.6 (*)
| +--- io.ktor:ktor-http-jvm:2.3.6 (*)
| \--- io.ktor:ktor-network-jvm:2.3.6
| \--- io.ktor:ktor-network:2.3.6
| +--- io.ktor:ktor-http-cio-jvm:2.3.6 (*)
| \--- io.ktor:ktor-network-tls-jvm:2.3.6 (*)
+--- io.ktor:ktor-network-jvm:2.3.6 (*)
+--- io.ktor:ktor-network-tls-jvm:2.3.6 (*)
+--- io.ktor:ktor-serialization-jvm:2.3.6 (*)
+--- io.ktor:ktor-serialization-kotlinx-json-jvm:2.3.6 (*)
+--- io.ktor:ktor-serialization-kotlinx-jvm:2.3.6 (*)
+--- io.ktor:ktor-utils-jvm:2.3.6 (*)
+--- io.ktor:ktor-websocket-serialization-jvm:2.3.6 (*)
\--- io.ktor:ktor-websockets-jvm:2.3.6 (*)
org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.6.4
Variant jvmApiElements-published:
| Attribute Name | Provided | Requested |
|------------------------------------|----------|--------------|
| org.gradle.status | release | |
| org.gradle.category | library | library |
| org.gradle.libraryelements | jar | classes |
| org.gradle.usage | java-api | java-api |
| org.jetbrains.kotlin.platform.type | jvm | jvm |
| org.gradle.dependency.bundling | | external |
| org.gradle.jvm.environment | | standard-jvm |
| org.gradle.jvm.version | | 17 |
Selection reasons:
- Selected by rule
- By constraint
org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.7.3 -> 1.6.4
+--- org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.7.3
| +--- org.jetbrains.kotlinx:kotlinx-coroutines-slf4j:1.6.4 (requested org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.6.4)
| | +--- compileClasspath (requested org.jetbrains.kotlinx:kotlinx-coroutines-slf4j)
| | \--- org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.7.3 (requested org.jetbrains.kotlinx:kotlinx-coroutines-slf4j:1.7.3) (*)
| +--- org.jetbrains.kotlinx:kotlinx-coroutines-reactive:1.6.4 (requested org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.6.4)
| | +--- org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.7.3 (requested org.jetbrains.kotlinx:kotlinx-coroutines-reactive:1.7.3) (*)
| | \--- org.jetbrains.kotlinx:kotlinx-coroutines-reactor:1.7.3 (requested org.jetbrains.kotlinx:kotlinx-coroutines-reactive:1.7.3)
| | +--- compileClasspath
| | \--- org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.7.3 (*)
| +--- org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.6.4 (requested org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.6.4)
| | +--- io.ktor:ktor-client-cio-jvm:2.3.6 (requested org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.7.1)
| | | \--- io.ktor:ktor-client-cio:2.3.6
| | | \--- dev.kord:kord-common-jvm:0.12.0
| | | \--- dev.kord:kord-common:0.12.0
| | | +--- compileClasspath
| | | +--- dev.kord:kord-core-jvm:0.12.0
| | | | \--- dev.kord:kord-core:0.12.0
| | | | \--- compileClasspath
| | | +--- dev.kord:kord-gateway-jvm:0.12.0
| | | | \--- dev.kord:kord-gateway:0.12.0
| | | | +--- compileClasspath
| | | | \--- dev.kord:kord-core-jvm:0.12.0 (*)
| | | \--- dev.kord:kord-rest-jvm:0.12.0
| | | \--- dev.kord:kord-rest:0.12.0
| | | \--- dev.kord:kord-core-jvm:0.12.0 (*)
| | +--- io.ktor:ktor-client-content-negotiation-jvm:2.3.6 (requested org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.7.1)
| | | \--- io.ktor:ktor-client-content-negotiation:2.3.6
| | | +--- dev.kord:kord-gateway-jvm:0.12.0 (*)
| | | \--- dev.kord:kord-rest-jvm:0.12.0 (*)
| | +--- io.ktor:ktor-client-websockets-jvm:2.3.6 (requested org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.7.1)
| | | \--- io.ktor:ktor-client-websockets:2.3.6
| | | \--- dev.kord:kord-gateway-jvm:0.12.0 (*)
| | +--- io.ktor:ktor-client-core-jvm:2.3.6 (requested org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.7.1)
| | | \--- io.ktor:ktor-client-core:2.3.6
| | | +--- dev.kord:kord-common-jvm:0.12.0 (*)
| | | +--- io.ktor:ktor-client-cio-jvm:2.3.6 (*)
| | | +--- io.ktor:ktor-client-content-negotiation-jvm:2.3.6 (*)
| | | \--- io.ktor:ktor-client-websockets-jvm:2.3.6 (*)
| | +--- io.ktor:ktor-serialization-kotlinx-json-jvm:2.3.6 (requested org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.7.1)
| | | \--- io.ktor:ktor-serialization-kotlinx-json:2.3.6
| | | +--- dev.kord:kord-gateway-jvm:0.12.0 (*)
| | | \--- dev.kord:kord-rest-jvm:0.12.0 (*)
| | +--- io.ktor:ktor-http-cio-jvm:2.3.6 (requested org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.7.1)
| | | \--- io.ktor:ktor-http-cio:2.3.6
| | | \--- io.ktor:ktor-client-cio-jvm:2.3.6 (*)
| | +--- io.ktor:ktor-websocket-serialization-jvm:2.3.6 (requested org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.7.1)
| | | \--- io.ktor:ktor-websocket-serialization:2.3.6
| | | \--- io.ktor:ktor-client-core-jvm:2.3.6 (*)
| | +--- io.ktor:ktor-serialization-kotlinx-jvm:2.3.6 (requested org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.7.1)
| | | \--- io.ktor:ktor-serialization-kotlinx:2.3.6
| | | \--- io.ktor:ktor-serialization-kotlinx-json-jvm:2.3.6 (*)
| | +--- io.ktor:ktor-serialization-jvm:2.3.6 (requested org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.7.1)
| | | \--- io.ktor:ktor-serialization:2.3.6
| | | +--- io.ktor:ktor-client-content-negotiation-jvm:2.3.6 (*)
| | | +--- io.ktor:ktor-websocket-serialization-jvm:2.3.6 (*)
| | | \--- io.ktor:ktor-serialization-kotlinx-jvm:2.3.6 (*)
| | +--- io.ktor:ktor-websockets-jvm:2.3.6 (requested org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.7.1)
| | | \--- io.ktor:ktor-websockets:2.3.6
| | | +--- io.ktor:ktor-client-cio-jvm:2.3.6 (*)
| | | \--- io.ktor:ktor-serialization-jvm:2.3.6 (*)
| | +--- io.ktor:ktor-network-tls-jvm:2.3.6 (requested org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.7.1)
| | | \--- io.ktor:ktor-network-tls:2.3.6
| | | \--- io.ktor:ktor-client-cio-jvm:2.3.6 (*)
| | +--- io.ktor:ktor-events-jvm:2.3.6 (requested org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.7.1)
| | | \--- io.ktor:ktor-events:2.3.6
| | | \--- io.ktor:ktor-client-core-jvm:2.3.6 (*)
| | +--- io.ktor:ktor-http-jvm:2.3.6 (requested org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.7.1)
| | | \--- io.ktor:ktor-http:2.3.6
| | | +--- io.ktor:ktor-client-core-jvm:2.3.6 (*)
| | | +--- io.ktor:ktor-serialization-kotlinx-json-jvm:2.3.6 (*)
| | | +--- io.ktor:ktor-http-cio-jvm:2.3.6 (*)
| | | +--- io.ktor:ktor-websocket-serialization-jvm:2.3.6 (*)
| | | +--- io.ktor:ktor-serialization-kotlinx-jvm:2.3.6 (*)
| | | +--- io.ktor:ktor-serialization-jvm:2.3.6 (*)
| | | +--- io.ktor:ktor-websockets-jvm:2.3.6 (*)
| | | +--- io.ktor:ktor-network-tls-jvm:2.3.6 (*)
| | | \--- io.ktor:ktor-events-jvm:2.3.6 (*)
| | +--- io.ktor:ktor-network-jvm:2.3.6 (requested org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.7.1)
| | | \--- io.ktor:ktor-network:2.3.6
| | | +--- io.ktor:ktor-http-cio-jvm:2.3.6 (*)
| | | \--- io.ktor:ktor-network-tls-jvm:2.3.6 (*)
| | +--- io.ktor:ktor-utils-jvm:2.3.6 (requested org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.7.1)
| | | \--- io.ktor:ktor-utils:2.3.6
| | | +--- io.ktor:ktor-network-tls-jvm:2.3.6 (*)
| | | +--- io.ktor:ktor-events-jvm:2.3.6 (*)
| | | +--- io.ktor:ktor-http-jvm:2.3.6 (*)
| | | \--- io.ktor:ktor-network-jvm:2.3.6 (*)
| | +--- io.ktor:ktor-io-jvm:2.3.6 (requested org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.7.1)
| | | \--- io.ktor:ktor-io:2.3.6
| | | \--- io.ktor:ktor-utils-jvm:2.3.6 (*)
| | \--- org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.7.3 (requested org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.7.3) (*)
| +--- org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.6.4 (requested org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.6.4) (*)
| \--- org.jetbrains.kotlinx:kotlinx-coroutines-reactor:1.7.3 (*)
\--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.3
+--- compileClasspath
+--- org.jetbrains.kotlinx:kotlinx-coroutines-slf4j:1.6.4 (requested org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.4) (*)
+--- org.jetbrains.kotlinx:kotlinx-coroutines-reactive:1.6.4 (requested org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.4) (*)
+--- dev.kord:kord-common-jvm:0.12.0 (*)
+--- io.ktor:ktor-client-cio-jvm:2.3.6 (requested org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.1) (*)
+--- io.ktor:ktor-client-content-negotiation-jvm:2.3.6 (requested org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.1) (*)
+--- io.ktor:ktor-client-websockets-jvm:2.3.6 (requested org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.1) (*)
+--- io.ktor:ktor-client-core-jvm:2.3.6 (requested org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.1) (*)
+--- io.ktor:ktor-serialization-kotlinx-json-jvm:2.3.6 (requested org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.1) (*)
+--- io.ktor:ktor-http-cio-jvm:2.3.6 (requested org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.1) (*)
+--- io.ktor:ktor-websocket-serialization-jvm:2.3.6 (requested org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.1) (*)
+--- io.ktor:ktor-serialization-kotlinx-jvm:2.3.6 (requested org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.1) (*)
+--- io.ktor:ktor-serialization-jvm:2.3.6 (requested org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.1) (*)
+--- io.ktor:ktor-websockets-jvm:2.3.6 (requested org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.1) (*)
+--- io.ktor:ktor-network-tls-jvm:2.3.6 (requested org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.1) (*)
+--- io.ktor:ktor-events-jvm:2.3.6 (requested org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.1) (*)
+--- io.ktor:ktor-http-jvm:2.3.6 (requested org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.1) (*)
+--- io.ktor:ktor-network-jvm:2.3.6 (requested org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.1) (*)
+--- io.ktor:ktor-utils-jvm:2.3.6 (requested org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.1) (*)
+--- io.ktor:ktor-io-jvm:2.3.6 (requested org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.1) (*)
+--- org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.6.4 (requested org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.4) (*)
+--- dev.kord.cache:cache-api-jvm:0.4.0 (requested org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.4)
| \--- dev.kord.cache:cache-api:0.4.0
| +--- dev.kord:kord-core-jvm:0.12.0 (*)
| \--- dev.kord.cache:cache-map-jvm:0.4.0
| \--- dev.kord.cache:cache-map:0.4.0
| \--- dev.kord:kord-core-jvm:0.12.0 (*)
+--- org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.7.3 (*)
\--- org.jetbrains.kotlinx:kotlinx-coroutines-reactor:1.7.3 (*)
(*) - Indicates repeated occurrences of a transitive dependency subtree. Gradle expands transitive dependency subtrees only once per project; repeat occurrences only display the root of the subtree, followed by this annotation.
A web-based, searchable dependency report is available by adding the --scan option.
BUILD SUCCESSFUL in 725ms
1 actionable task: 1 executed
bumping these dependencies to higher version solved the problem:
id("org.springframework.boot") version "3.2.1"
id("io.spring.dependency-management") version "1.1.4"
kotlin("jvm") version "1.9.22"
kotlin("plugin.spring") version "1.9.22"
kotlin("plugin.jpa") version "1.9.22"
kotlin("plugin.serialization") version "1.9.22"
i think this line in your buildscript might cause the problem:
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-slf4j")
my wild guess is that this takes the version 1.6.4
from somewhere else which then causes kotlinx-coroutines-core-jvm
to be also selected as 1.6.4
(notice the -jvm
suffix, this comes from the way kolin multiplatform artifacts are published and contains the actual jvm code). kord only explicitly depends on the multiplatform kotlinx-coroutines-core
(no -jvm
suffix, kord is multiplatform too).
it should be fixed by specifying the version:
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-slf4j:1.7.3")
I got the following message today while starting up the application for the first time. Feel free to ask me for more information if required.
09:53:15.909 ERROR [IdentifyRateLimiter] - IdentifyRateLimiter threw an exception in context [dev.kord.gateway.ratelimit.IdentifyRateLimiterImpl$special$$inlined$CoroutineExceptionHandler$1@74965a99, StandaloneCoroutine{Cancelling}@695bb92c, Dispatchers.Default], please report this, it should not happen java.lang.NoClassDefFoundError: kotlinx/coroutines/selects/SelectImplementation at dev.kord.gateway.ratelimit.IdentifyRateLimiterImpl.receiveSortedBatchOfRequestsOrNull(IdentifyRateLimiter.kt:263) Caused by: java.lang.ClassNotFoundException: kotlinx.coroutines.selects.SelectImplementation at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)