iTXTech / mirai-js

强大的 Mirai JavaScript 插件运行时
GNU Affero General Public License v3.0
86 stars 33 forks source link

插件加载抛出异常 Function importClass must be called with a class #10

Closed Taifendesune closed 2 years ago

Taifendesune commented 3 years ago

环境:

代码为示例代码:

importClass(net.mamoe.mirai.event.GlobalEventChannel);
importClass(net.mamoe.mirai.event.events.BotOnlineEvent);
importPackage(net.mamoe.mirai)

let bot = null;
let listener = GlobalEventChannel.INSTANCE.subscribeAlways(BotOnlineEvent, (event) => {
    logger.info("Bot " + event.getBot() + " is now online!");
    bot = event.getBot();
});

异常信息: image

2021-10-17 01:50:59 E/org.itxtech.miraijs.MiraiJs: Error while loading studychat.zip: org.mozilla.javascript.EvaluatorException: Function importClass must be called with a class; had "[JavaPackage com.stardust.autojs.core.http.MutableOkHttp]" instead. (importOkHttpLib#12)

代码改为以下内容报同样错误:

// importClass(net.mamoe.mirai.event.GlobalEventChannel);
// importClass(net.mamoe.mirai.event.events.BotOnlineEvent);
// importPackage(net.mamoe.mirai)

let bot = null;
let listener = net.mamoe.mirai.event.GlobalEventChannel.INSTANCE.subscribeAlways(
  mirai.event.events.BotOnlineEvent,
  (event) => {
    logger.info("Bot " + event.getBot() + " is now online!");
    bot = event.getBot();
  }
);
Taifendesune commented 3 years ago

以上为 main.js 中代码

StageGuard commented 3 years ago

运行环境?

Taifendesune commented 3 years ago

运行环境? 系统: CentOS Linux release 7.3.1611 (Core) Java: openjdk 11.0.12 2021-07-20 OpenJDK Runtime Environment Temurin-11.0.12+7 (build 11.0.12+7) OpenJDK 64-Bit Server VM Temurin-11.0.12+7 (build 11.0.12+7, mixed mode)

DomeenoH commented 2 years ago

遇到了同样的问题

StageGuard commented 2 years ago

经发现使用 mcl 启动时脚本环境无法找到 net.mamoe.mirai 包,请使用原始方式启动:

java -cp "./libs/*" net.mamoe.mirai.console.terminal.MiraiConsoleTerminalLoader