iTXTech / mirai-native

强大的 mirai 原生插件加载器
GNU Affero General Public License v3.0
370 stars 141 forks source link

Native加载时报错java.lang.NoClassDefFoundError #155

Closed yangnuozhen closed 2 years ago

yangnuozhen commented 2 years ago

描述这个Bug 在启动MCL时,Native加载CQP.dll文件后报错java.lang.NoClassDefFoundError: net/mamoe/mirai/event/Listener$ConcurrencyKind

复现步骤 启动MCL,加载Native和CQP.dll 期望的行为 修复此Bug,正常加载

截图和日志 完整日志:

  18:42:18 [INFO] iTXTech Mirai Console Loader version 1.2.2-60c67fb
  18:42:18 [INFO] https://github.com/iTXTech/mirai-console-loader
  18:42:18 [INFO] This program is licensed under GNU AGPL v3
  18:42:20 [INFO] Fetching Mirai Console Loader Announcement...
  18:42:21 [INFO] Mirai Console Loader Announcement:
Mirai Console Loader 公告栏

如果在图片上传的时候遇到问题请与我们联系 (需要提供图片文件源本)
`- 如 Unsupported image type for ExternalResource *
`  considering use gif/png/bmp/jpg format.
`- Tracker: https://github.com/mamoe/mirai/issues/new/choose

常用资源整合
`- https://mirai.mamoe.net/topic/653

  18:42:21 [INFO] Verifying "org.bouncycastle:bcprov-jdk15on" v1.64
  18:42:21 [INFO] Verifying "net.mamoe:mirai-console" v2.10.0-RC2
  18:42:21 [INFO] Verifying "net.mamoe:mirai-console-terminal" v2.10.0-RC2
  18:42:21 [INFO] Verifying "net.mamoe:mirai-core-all" v2.10.0-RC2
  18:42:23 [INFO] Verifying "org.itxtech:mcl-addon" v1.2.2
  18:42:23 [INFO] Verifying "org.itxtech:mirai-native" v1.9.6
  18:42:23 [INFO] Verifying "net.mamoe:mirai-api-http" v2.4.0
  18:42:23 [INFO] Verifying "xyz.cssxsh.mirai:mirai-device-generator" v1.0.1
2022-01-29 18:42:26 I/main: Starting mirai-console...
2022-01-29 18:42:27 I/main: Backend: version 2.10.0-RC2, built on 2022-01-22 23:
22:09.
2022-01-29 18:42:27 I/main: Frontend Terminal: version 2.10.0-RC2, provided by M
amoe Technologies
2022-01-29 18:42:27 I/main: Welcome to visit https://mirai.mamoe.net/
2022-01-29 18:42:27 I/plugin: Successfully loaded plugin AutoGroup v2.0.3
2022-01-29 18:42:27 I/plugin: Successfully loaded plugin Chat Command v0.5.0
2022-01-29 18:42:27 I/plugin: Successfully loaded plugin MCL Addon v1.2.2
2022-01-29 18:42:27 I/plugin: Successfully loaded plugin net.mamoe.mirai-api-htt
p v2.4.0
2022-01-29 18:42:27 I/plugin: Successfully loaded plugin mirai-device-generator
v1.0.1
2022-01-29 18:42:27 I/plugin: Successfully loaded plugin MiraiNative v1.9.6
2022-01-29 18:42:27 I/plugin: Successfully loaded plugin PatPat v2.0.1
2022-01-29 18:42:28 I/main: Prepared built-in commands: autoLogin, help, login,
logout, permission, status, stop
2022-01-29 18:42:28 I/AutoGroup: 开始折磨群友
2022-01-29 18:42:28 I/MCL Addon: iTXTech MCL Version: 1.2.2-60c67fb
2022-01-29 18:42:29 I/Mirai HTTP API: ******************************************
**************
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further detail
s.
2022-01-29 18:42:29 I/http adapter: >>> [http adapter] is listening at http://lo
calhost:8080
2022-01-29 18:42:29 I/ws adapter: >>> [ws adapter] is listening at ws://localhos
t:8080
2022-01-29 18:42:29 I/Mirai HTTP API: Http api server is running with verifyKey:
 *********
2022-01-29 18:42:29 I/Mirai HTTP API: adaptors: [http,ws]
2022-01-29 18:42:29 I/Mirai HTTP API: ******************************************
**************
2022-01-29 18:42:30 I/MiraiNative: 正在加载 Mirai Native Bridge D:\mirai\data\or
g.itxtech.mirainative\CQP.dll
2022-01-29 18:42:30 E/MiraiNative: java.lang.NoClassDefFoundError: net/mamoe/mir
ai/event/Listener$ConcurrencyKind
java.lang.NoClassDefFoundError: net/mamoe/mirai/event/Listener$ConcurrencyKind
        at org.itxtech.mirainative.manager.EventManager.registerEvents(EventMana
ger.kt:264)
        at org.itxtech.mirainative.MiraiNative.onEnable(MiraiNative.kt:169)
        at net.mamoe.mirai.console.internal.plugin.JvmPluginInternal.internalOnE
nable$mirai_console(JvmPluginInternal.kt:117)
        at net.mamoe.mirai.console.internal.plugin.BuiltInJvmPluginLoaderImpl.en
able(BuiltInJvmPluginLoaderImpl.kt:164)
        at net.mamoe.mirai.console.internal.plugin.BuiltInJvmPluginLoaderImpl.en
able(BuiltInJvmPluginLoaderImpl.kt:36)
        at net.mamoe.mirai.console.plugin.jvm.JvmPluginLoader$BuiltIn.enable(Jvm
PluginLoader.kt)
        at net.mamoe.mirai.console.plugin.jvm.JvmPluginLoader$BuiltIn.enable(Jvm
PluginLoader.kt:47)
        at net.mamoe.mirai.console.plugin.PluginManager.enablePlugin(PluginManag
er.kt:135)
        at net.mamoe.mirai.console.internal.plugin.PluginManagerImpl.enableAllLo
adedPlugins$mirai_console(PluginManagerImpl.kt:177)
        at net.mamoe.mirai.console.internal.MiraiConsoleImplementationBridge.doS
tart$mirai_console(MiraiConsoleImplementationBridge.kt:202)
        at net.mamoe.mirai.console.MiraiConsoleImplementation$Companion.start(Mi
raiConsoleImplementation.kt:392)
        at net.mamoe.mirai.console.terminal.MiraiConsoleTerminalLoader.startAsDa
emon(MiraiConsoleTerminalLoader.kt:156)
        at net.mamoe.mirai.console.terminal.MiraiConsoleTerminalLoader.startAsDa
emon$default(MiraiConsoleTerminalLoader.kt:155)
        at net.mamoe.mirai.console.terminal.MiraiConsoleTerminalLoader.main(Mira
iConsoleTerminalLoader.kt:47)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Nativ
e Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Native
MethodAccessorImpl.java:78)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(De
legatingMethodAccessorImpl.java:43)
        at java.base/java.lang.reflect.Method.invoke(Method.java:567)
        at org.itxtech.mcl.Utility.bootMirai(Utility.java:83)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Nativ
e Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Native
MethodAccessorImpl.java:78)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(De
legatingMethodAccessorImpl.java:43)
        at java.base/java.lang.reflect.Method.invoke(Method.java:567)
        at org.mozilla.javascript.MemberBox.invoke(MemberBox.java:138)
        at org.mozilla.javascript.NativeJavaMethod.call(NativeJavaMethod.java:22
6)
        at org.mozilla.javascript.Interpreter.interpretLoop(Interpreter.java:169
2)
        at org.mozilla.javascript.Interpreter.interpret(Interpreter.java:1013)
        at org.mozilla.javascript.InterpretedFunction.call(InterpretedFunction.j
ava:109)
        at org.mozilla.javascript.ContextFactory.doTopCall(ContextFactory.java:4
12)
        at org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:357
8)
        at org.mozilla.javascript.InterpretedFunction.call(InterpretedFunction.j
ava:107)
        at org.mozilla.javascript.ArrowFunction.call(ArrowFunction.java:43)
        at org.mozilla.javascript.InterfaceAdapter.invokeImpl(InterfaceAdapter.j
ava:155)
        at org.mozilla.javascript.InterfaceAdapter.lambda$invoke$0(InterfaceAdap
ter.java:105)
        at org.mozilla.javascript.Context.call(Context.java:554)
        at org.mozilla.javascript.ContextFactory.call(ContextFactory.java:522)
        at org.mozilla.javascript.InterfaceAdapter.invoke(InterfaceAdapter.java:
105)
        at org.mozilla.javascript.jdk18.VMBridge_jdk18$1.invoke(VMBridge_jdk18.j
ava:126)
        at jdk.proxy1/jdk.proxy1.$Proxy4.run(Unknown Source)
        at org.itxtech.mcl.script.ScriptManager.phaseBoot(ScriptManager.java:106
)
        at org.itxtech.mcl.Loader.lambda$start$3(Loader.java:176)
        at org.itxtech.mcl.Loader.tryCatching(Loader.java:145)
        at org.itxtech.mcl.Loader.start(Loader.java:176)
        at org.itxtech.mcl.Loader.main(Loader.java:68)
Caused by: java.lang.ClassNotFoundException: net.mamoe.mirai.event.Listener$Conc
urrencyKind
        at net.mamoe.mirai.console.internal.plugin.JvmPluginClassLoader.findClas
s$mirai_console(JvmPluginClassLoader.kt:110)
        at net.mamoe.mirai.console.internal.plugin.JvmPluginClassLoader.findClas
s(JvmPluginClassLoader.kt:51)
        at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:586)
        at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:519)
        ... 44 more

2022-01-29 18:42:30 I/PatPat: 缓存已自动清理
2022-01-29 18:42:30 I/PatPat: 摸头插件已加载
2022-01-29 18:42:30 I/main: 7 plugin(s) enabled.
2022-01-29 18:42:30 I/main: mirai-console started successfully.
2022-01-29 18:42:30 I/MiraiNative: 插件 me.cqp.luohuaming.GenshinQuery.dll 已被
加载,返回值为 0 。
2022-01-29 18:42:30 I/MiraiNative: 插件 RUNALL.dll 已被加载,返回值为 0 。
2022-01-29 18:42:30 W/MiraiNative: 无法找到 RUNALL.dll 的插件信息。

(最后一行是配置问题,请忽略) 运行环境

PeratX commented 2 years ago

需要搭配mirai native 2.0.0-beta版本使用,请切换到beta channel