Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[BUG] 与 mirai-api-http 不兼容 #166

Open
UlyssesZh opened this issue Oct 31, 2022 · 0 comments
Open

[BUG] 与 mirai-api-http 不兼容 #166

UlyssesZh opened this issue Oct 31, 2022 · 0 comments

Comments

@UlyssesZh
Copy link

本插件中有 net.mamoe.yamlkt.YamlElement 这个类, 导致与 mirai-api-http 发生类名冲突. 这会导致 mirai-api-http 无法正确读取它的配置文件.
控制台中的相关错误:

2022-10-31 08:44:59 W/net.mamoe.mirai-api-http: Linked class net.mamoe.yamlkt.YamlElement in onebot-mirai-0.3.4-all.jar but plugin not depend on it.                                          
2022-10-31 08:44:59 W/net.mamoe.mirai-api-http: Class loading logic may change in feature.                                                                                                    
2022-10-31 08:44:59 E/net.mamoe.mirai-api-http: net.mamoe.yamlkt.YamlDecodingException: Top-level decoder: deserializing nested class for 'adapterSettings' in 'setting'                      
...ttings: {'http': {'port': 8086}}                                                                                                                                                           
                                  ^ at line 9, column 42                                                                                                                                      
                                                                                               
net.mamoe.yamlkt.YamlDecodingException: Top-level decoder: deserializing nested class for 'adapterSettings' in 'setting'                                                                      
...ttings: {'http': {'port': 8086}}                                                                                                                                                           
                                  ^ at line 9, column 42                                                                                                                                      
                                                                                                                                                                                              
        at net.mamoe.yamlkt.internal.YamlUtils__ContextualExceptionKt.contextualDecodingException(ContextualException.kt:154)                                                                 
        at net.mamoe.yamlkt.internal.YamlUtils.contextualDecodingException(Unknown Source)                                                                                                    
        at net.mamoe.yamlkt.internal.YamlDecoder$AbstractDecoder.decodeSerializableElement(YamlDecoder.kt:181)                                                                                
        at kotlinx.serialization.encoding.CompositeDecoder$DefaultImpls.decodeSerializableElement$default(Decoding.kt:537)                                                                    
        at net.mamoe.mirai.console.internal.data.PluginDataImpl$updaterSerializer$1.deserialize(PluginDataImpl.kt:85)                                                                         
        at net.mamoe.mirai.console.internal.data.PluginDataImpl$updaterSerializer$1.deserialize(PluginDataImpl.kt:47)                                                                         
        at net.mamoe.yamlkt.Yaml.decodeFromString(Yaml.kt:162)                                                                                                                                
        at net.mamoe.mirai.console.internal.data.MultiFilePluginDataStorageImpl.load(MultiFilePluginDataStorageImpl.kt:45)                                                                    
        at net.mamoe.mirai.console.plugin.jvm.AbstractJvmPlugin.reloadPluginConfig(AbstractJvmPlugin.kt:59)                                                                                   
        at mirai-api-http-2.6.2.mirai2.jar//net.mamoe.mirai.api.http.HttpApiPluginBase.onEnable(HttpApiPluginBase.kt:34)                                                                      
        at net.mamoe.mirai.console.internal.plugin.JvmPluginInternal.internalOnEnable$mirai_console(JvmPluginInternal.kt:131)                                                                 
        at net.mamoe.mirai.console.internal.plugin.BuiltInJvmPluginLoaderImpl.enable(BuiltInJvmPluginLoaderImpl.kt:279)
        at net.mamoe.mirai.console.internal.plugin.BuiltInJvmPluginLoaderImpl.enable(BuiltInJvmPluginLoaderImpl.kt:35)
        at net.mamoe.mirai.console.plugin.jvm.JvmPluginLoader$BuiltIn.enable(JvmPluginLoader.kt)
        at net.mamoe.mirai.console.plugin.jvm.JvmPluginLoader$BuiltIn.enable(JvmPluginLoader.kt:50)
        at net.mamoe.mirai.console.plugin.PluginManager.enablePlugin(PluginManager.kt:173)
        at net.mamoe.mirai.console.internal.plugin.PluginManagerImpl.enableAllLoadedPlugins$mirai_console(PluginManagerImpl.kt:175)
        at net.mamoe.mirai.console.internal.MiraiConsoleImplementationBridge.doStart$mirai_console(MiraiConsoleImplementationBridge.kt:336)
        at net.mamoe.mirai.console.MiraiConsoleImplementation$Companion.start(MiraiConsoleImplementation.kt:508)
        at net.mamoe.mirai.console.terminal.MiraiConsoleTerminalLoader.startAsDaemon(MiraiConsoleTerminalLoader.kt:177)
        at net.mamoe.mirai.console.terminal.MiraiConsoleTerminalLoader.startAsDaemon$default(MiraiConsoleTerminalLoader.kt:176)
        at net.mamoe.mirai.console.terminal.MiraiConsoleTerminalLoader.main(MiraiConsoleTerminalLoader.kt:54)
        at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
        at java.base/java.lang.reflect.Method.invoke(Method.java:578)
        at org.itxtech.mcl.Utility.bootJars(Utility.java:86)
        at org.itxtech.mcl.Utility.bootJars(Utility.java:76)
        at org.itxtech.mcl.Utility.bootMirai(Utility.java:98)
        at org.itxtech.mcl.module.builtin.Boot.boot(Boot.java:113)
        at org.itxtech.mcl.module.ModuleManager.phaseBoot(ModuleManager.java:123)
        at org.itxtech.mcl.Loader.lambda$start$4(Loader.java:194)
        at org.itxtech.mcl.Loader.tryCatching(Loader.java:151)
        at org.itxtech.mcl.Loader.start(Loader.java:194)
        at org.itxtech.mcl.Loader.main(Loader.java:84)
Caused by: net.mamoe.yamlkt.YamlDecodingException: Top-level decoder: deserializing nested class for '1' in 'kotlin.collections.LinkedHashMap'
adapterSettings: {'http': {'port': 8086}}
                          ^ at line 9, column 28

        at net.mamoe.yamlkt.internal.YamlUtils__ContextualExceptionKt.contextualDecodingException(ContextualException.kt:154)
        at net.mamoe.yamlkt.internal.YamlUtils.contextualDecodingException(Unknown Source)
        at net.mamoe.yamlkt.internal.YamlDecoder$AbstractDecoder.decodeSerializableElement(YamlDecoder.kt:181)
        at kotlinx.serialization.encoding.CompositeDecoder$DefaultImpls.decodeSerializableElement$default(Decoding.kt:537)
        at kotlinx.serialization.internal.MapLikeSerializer.readElement(CollectionSerializers.kt:111)
        at kotlinx.serialization.internal.MapLikeSerializer.readElement(CollectionSerializers.kt:84)
        at kotlinx.serialization.internal.AbstractCollectionSerializer.readElement$default(CollectionSerializers.kt:51)
        at kotlinx.serialization.internal.AbstractCollectionSerializer.merge(CollectionSerializers.kt:36)
        at kotlinx.serialization.internal.AbstractCollectionSerializer.deserialize(CollectionSerializers.kt:43)
        at net.mamoe.mirai.console.data.SerializableValue$Companion$serializableValueWith$$inlined$map$1.deserialize(serializerHelper.kt:170)
        at net.mamoe.yamlkt.internal.YamlDecoder$AbstractDecoder.decodeSerializableElement(YamlDecoder.kt:179)
        ... 30 more                            
Caused by: java.lang.ClassCastException: class net.mamoe.yamlkt.internal.YamlDecoder$FlowMapDecoder cannot be cast to class net.mamoe.yamlkt.internal.YamlDecoder$AbstractDecoder (net.mamoe.y
amlkt.internal.YamlDecoder$FlowMapDecoder is in unnamed module of loader 'app'; net.mamoe.yamlkt.internal.YamlDecoder$AbstractDecoder is in unnamed module of loader 'onebot-mirai-0.3.4-all.j
ar' @4fa4f485)                                 
        at onebot-mirai-0.3.4-all.jar//net.mamoe.yamlkt.internal.YamlElementSerializer.deserialize(YamlElementSerializer.kt:35)
        at onebot-mirai-0.3.4-all.jar//net.mamoe.yamlkt.internal.YamlElementSerializer.deserialize(YamlElementSerializer.kt:30)
        at net.mamoe.yamlkt.internal.YamlDecoder$AbstractDecoder.decodeSerializableElement(YamlDecoder.kt:179)
        ... 38 more                            

版本信息:

  • mirai-console: 2.13.0-RC2
  • mirai-api-http: 2.6.2
  • onebot-mirai: 0.3.4
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant