Minecraft插件加载报错:无法找到主类的解决求助
Minecraft插件加载错误求助
我用VSCode搭配Maven编译了一个简易Minecraft插件(相关文件:Plugin.java、plugin.yml),但加载插件时出现如下错误,恳请帮忙解决:
20:42:08 ERROR]: [ModernPluginLoadingStrategy] Could not load plugin 'bettercommands-0.1.jar' in folder 'plugins' org.bukkit.plugin.InvalidPluginException: Cannot find main class `net.vitekform.bettercommands.Plugin.class' at org.bukkit.plugin.java.PluginClassLoader.<init>(PluginClassLoader.java:80) ~[purpur-api-1.19.4-R0.1-SNAPSHOT.jar:?] at io.papermc.paper.plugin.provider.type.spigot.SpigotPluginProvider.createInstance(SpigotPluginProvider.java:123) ~[purpur-1.19.4.jar:git-Purpur-1975] at io.papermc.paper.plugin.provider.type.spigot.SpigotPluginProvider.createInstance(SpigotPluginProvider.java:35) ~[purpur-1.19.4.jar:git-Purpur-1975] at io.papermc.paper.plugin.entrypoint.strategy.modern.ModernPluginLoadingStrategy.loadProviders(ModernPluginLoadingStrategy.java:116) ~[purpur-1.19.4.jar:git-Purpur-1975] at io.papermc.paper.plugin.storage.SimpleProviderStorage.enter(SimpleProviderStorage.java:39) ~[purpur-1.19.4.jar:git-Purpur-1975] at io.papermc.paper.plugin.entrypoint.LaunchEntryPointHandler.enter(LaunchEntryPointHandler.java:36) ~[purpur-1.19.4.jar:git-Purpur-1975] at org.bukkit.craftbukkit.v1_19_R3.CraftServer.loadPlugins(CraftServer.java:438) ~[purpur-1.19.4.jar:git-Purpur-1975] at net.minecraft.server.dedicated.DedicatedServer.initServer(DedicatedServer.java:310) ~[purpur-1.19.4.jar:git-Purpur-1975] at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1120) ~[purpur-1.19.4.jar:git-Purpur-1975] at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:325) ~[purpur-1.19.4.jar:git-Purpur-1975] at java.lang.Thread.run(Thread.java:833) ~[?:?] Caused by: java.lang.ClassNotFoundException: net.vitekform.bettercommands.Plugin.class at org.bukkit.plugin.java.PluginClassLoader.loadClass0(PluginClassLoader.java:185) ~[purpur-api-1.19.4-R0.1-SNAPSHOT.jar:?] at org.bukkit.plugin.java.PluginClassLoader.loadClass(PluginClassLoader.java:152) ~[purpur-api-1.19.4-R0.1-SNAPSHOT.jar:?] at java.lang.ClassLoader.loadClass(ClassLoader.java:520) ~[?:?] at java.lang.Class.forName0(Native Method) ~[?:?] at java.lang.Class.forName(Class.java:467) ~[?:?] at org.bukkit.plugin.java.PluginClassLoader.<init>(PluginClassLoader.java:78) ~[purpur-api-1.19.4-R0.1-SNAPSHOT.jar:?] ... 10 more
问题分析与解决办法
从错误日志看,核心问题是找不到主类net.vitekform.bettercommands.Plugin.class——这里多了.class后缀,是典型的配置错误。
- 修正plugin.yml的main字段:打开plugin.yml,找到
main配置项,把值改成net.vitekform.bettercommands.Plugin,不要带.class后缀 - 核对类路径与包名:确认Plugin.java文件的包名确实是
net.vitekform.bettercommands,类名是Plugin,和plugin.yml里的路径完全匹配 - 检查编译后的jar包:用压缩软件打开生成的
bettercommands-0.1.jar,查看里面是否存在net/vitekform/bettercommands/Plugin.class文件,确保编译正确输出了类文件 - 重新编译打包:在VSCode终端执行
mvn clean package命令,清理旧编译文件后重新打包,确保过程没有报错
内容的提问来源于stack exchange,提问作者vitekform
相关产品推荐
相关产品推荐

