首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >mirai机器人http API接口出现java.lang.NoSuchMethodError: ‘double kotlin.time.DurationKt.toDuration(int, java

mirai机器人http API接口出现java.lang.NoSuchMethodError: ‘double kotlin.time.DurationKt.toDuration(int, java

作者头像
用户2135432
发布2023-10-21 10:56:54
发布2023-10-21 10:56:54
4280
举报
文章被收录于专栏:猛牛哥的博客猛牛哥的博客

故障出现

近期我的mirai机器人启动时遇到这个问题,表现为机器人的http API接口的端口无法连接,mirai机器人启动时出错。

代码语言:javascript
复制
2021-09-15 14:33:15 E/Mirai HTTP API: java.lang.NoSuchMethodError: 'double kotlin.time.DurationKt.toDuration(int, java.util.concurrent.TimeUnit)'
java.lang.NoSuchMethodError: 'double kotlin.time.DurationKt.toDuration(int, java.util.concurrent.TimeUnit)'
        at net.mamoe.mirai.api.http.route.BaseRouteKt$mirai$2.invoke(BaseRoute.kt:48)
        at net.mamoe.mirai.api.http.route.BaseRouteKt$mirai$2.invoke(BaseRoute.kt)
        at io.ktor.features.CORS$Feature.install(CORS.kt:517)
        at io.ktor.features.CORS$Feature.install(CORS.kt:509)
        at io.ktor.application.ApplicationFeatureKt.install(ApplicationFeature.kt:68)
        at net.mamoe.mirai.api.http.route.BaseRouteKt.mirai(BaseRoute.kt:45)
        at net.mamoe.mirai.api.http.MiraiHttpAPIServer$start$2$1$1.invoke(MiraiHttpAPIServer.kt:93)
        at net.mamoe.mirai.api.http.MiraiHttpAPIServer$start$2$1$1.invoke(MiraiHttpAPIServer.kt:29)
        at io.ktor.server.engine.ApplicationEngineEnvironmentReloading.instantiateAndConfigureApplication(ApplicationEngineEnvironmentReloading.kt:303)
        at io.ktor.server.engine.ApplicationEngineEnvironmentReloading.createApplication(ApplicationEngineEnvironmentReloading.kt:138)
        at io.ktor.server.engine.ApplicationEngineEnvironmentReloading.start(ApplicationEngineEnvironmentReloading.kt:270)
        at io.ktor.server.cio.CIOApplicationEngine$serverJob$1$1.invokeSuspend(CIOApplicationEngine.kt:53)
        at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
        at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
        at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:571)
        at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:750)
        at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:678)
        at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:665)

自己尝试重启docker和重建docker均无法解决,经过网络搜索,找到了问题原因和解决方法。

问题原因

来自githubSinCerely023:

个人认为是mcl没有更新2.0版本mah但是mirai-console更新到了最新版本导致的问题。另外提醒一下最新版本的Graia有bug且无法适配mah 2.0,适当回退版本。

解决方法

先通过以下命令指定特定版本的mcl,再重新启动mcl:

代码语言:javascript
复制
./mcl --update-package net.mamoe:mirai-console --channel stable --version 2.5.0
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-09-15 ,如有侵权请联系 [email protected] 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 [email protected] 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 故障出现
  • 问题原因
  • 解决方法
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档