You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Minecraft Bukkit插件启动报错:无法找到主类me.raultechsupport.helloworld.Main

Minecraft插件启动报错:无法找到主类 me.raultechsupport.helloworld.Main

我正在学习开发Minecraft插件,但起步阶段就卡壳了:导出插件包后放到服务器运行,直接弹出「无法找到主类」的错误。我已经试过移动plugin.yml文件位置、反复检查导出内容是否完整、重命名类名这些方法,也查过不少相关问题帖,但错误还是没解决,求各位大佬帮忙看看!

Main类代码

package me.raultechsupport.helloworld;
import org.bukkit.plugin.java.JavaPlugin;
import me.raultechsupport.helloworld.commands.hellocommand;
public class Main extends JavaPlugin {
    @Override
    public void onEnable() {
        new hellocommand(this);
    }
}

hellocommand类代码

package me.raultechsupport.helloworld.commands;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import me.raultechsupport.helloworld.Main;
public class hellocommand implements CommandExecutor {
    @SuppressWarnings("unused")
    private Main plugin;
    public hellocommand(Main plugin) {
        this.plugin = plugin;
        plugin.getCommand("hello").setExecutor(this);
    }
    @Override
    public boolean onCommand(CommandSender sender, Command cmd, String label, String[] arg3) {
        if (!(sender instanceof Player)) {
            sender.sendMessage("Only players may execute this command!");
            return true;
        }
        Player p = (Player) sender;
        if (p.hasPermission("hello.use")) {
            p.sendMessage("Hi!");
            return true;
        } else {
            p.sendMessage("You do not have permission to execute this command!");
        }
        return false;
    }
}

plugin.yml配置

name: HelloWorld
version: 1.0
author: RaulTechSupport
main: me.raultechsupport.helloworld.Main
description: Hello.
commands:
  hello:
    aliases: [hi]
    description: Hi!

控制台错误日志

org.bukkit.plugin.InvalidPluginException: Cannot find main class `me.raultechsupport.helloworld.Main'
[11:36:00 ERROR]: Could not load 'plugins/HelloWorld.jar' in folder 'plugins'
at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:137) ~[patched_1.16.5.jar:git-Purpur-1082]
at org.bukkit.plugin.java.PluginClassLoader.<init>(PluginClassLoader.java:81) ~[patched_1.16.5.jar:git-Purpur-1082]
at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager.java:305) ~[patched_1.16.5.jar:git-Purpur-1082]
at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager.java:397) ~[patched_1.16.5.jar:git-Purpur-1082]
at org.bukkit.craftbukkit.v1_16_R3.CraftServer.loadPlugins(CraftServer.java:389) ~[patched_1.16.5.jar:git-Purpur-1082]
at net.minecraft.server.v1_16_R3.DedicatedServer.init(DedicatedServer.java:264) ~[patched_1.16.5.jar:git-Purpur-1082]
at net.minecraft.server.v1_16_R3.MinecraftServer.w(MinecraftServer.java:1070) ~[patched_1.16.5.jar:git-Purpur-1082]
at net.minecraft.server.v1_16_R3.MinecraftServer.lambda$a$0(MinecraftServer.java:291) ~[patched_1.16.5.jar:git-Purpur-1082]
Caused by: java.lang.ClassNotFoundException: me.raultechsupport.helloworld.Main
at java.lang.Thread.run(Thread.java:834) [?:?]
at java.net.URLClassLoader.findClass(URLClassLoader.java:471) ~[?:?]
at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:183) ~[patched_1.16.5.jar:git-Purpur-1082]
at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:111) ~[patched_1.16.5.jar:git-Purpur-1082]
at java.lang.ClassLoader.loadClass(ClassLoader.java:522) ~[?:?]
at java.lang.Class.forName0(Native Method) ~[?:?]
at java.lang.Class.forName(Class.java:398) ~[?:?]
at org.bukkit.plugin.java.PluginClassLoader.<init>(PluginClassLoader.java:79) ~[patched_1.16.5.jar:git-Purpur-1082]
at java.lang.ClassLoader.loadClass(ClassLoader.java:589) ~[?:?]
... 8 more

注:已经按照之前问题帖里的建议修正过相关内容,但错误依然存在。

内容的提问来源于stack exchange,提问作者RaulTechSupport

火山引擎 最新活动