【发布时间】:2021-11-04 16:26:36
【问题描述】:
所以,我最近创建了我的第一个插件,名为 BetterTeaming。该插件使用 spigot api。插件发布后,一段时间后有人建议我使用 Maven 从编译的 jar 中删除 spigot-api 依赖项。这应该缩小了文件大小。但是我对Maven了解不多。我设法设置它,并将我的文件复制到 Maven 文件夹(包括层次结构屏幕截图),但每次我在本地服务器 Minecraft 上加载插件时,它都会向我抛出 ClassNotFoundException,并停止加载插件。
到底哪里不对?
所以,我最近创建了我的第一个插件,名为 BetterTeaming。该插件使用 spigot api。插件发布后,一段时间后有人建议我使用 Maven 从编译的 jar 中删除 spigot-api 依赖项。这应该缩小了文件大小。但是我对Maven了解不多。我设法设置它,并将我的文件复制到 Maven 文件夹(包括层次结构屏幕截图),但每次我在本地服务器(我的世界)上加载插件时,它都会向我抛出 ClassNotFoundException,并停止加载插件。
层次结构
带有主类 src - main - plugin-package 的包 Plugin.yml src-main-resources-plugin.yml
错误信息
[22:20:52 ERROR]: Could not load 'plugins\BT-maven-1.0-SNAPSHOT.jar' in folder 'plugins'
org.bukkit.plugin.InvalidPluginException: Cannot find main class `plugin.Main'
at org.bukkit.plugin.java.PluginClassLoader.<init>(PluginClassLoader.java:80) ~[spigot-1.12.2.jar:git-Spigot-dcd1643-e60fc34]
at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:129) ~[spigot-1.12.2.jar:git-Spigot-dcd1643-e60fc34]
at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager.java:327) ~[spigot-1.12.2.jar:git-Spigot-dcd1643-e60fc34]
at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager.java:248) [spigot-1.12.2.jar:git-Spigot-dcd1643-e60fc34]
at org.bukkit.craftbukkit.v1_12_R1.CraftServer.loadPlugins(CraftServer.java:305) [spigot-1.12.2.jar:git-Spigot-dcd1643-e60fc34]
at org.bukkit.craftbukkit.v1_12_R1.CraftServer.reload(CraftServer.java:750) [spigot-1.12.2.jar:git-Spigot-dcd1643-e60fc34]
at org.bukkit.Bukkit.reload(Bukkit.java:525) [spigot-1.12.2.jar:git-Spigot-dcd1643-e60fc34]
at org.bukkit.command.defaults.ReloadCommand.execute(ReloadCommand.java:27) [spigot-1.12.2.jar:git-Spigot-dcd1643-e60fc34]
at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:141) [spigot-1.12.2.jar:git-Spigot-dcd1643-e60fc34]
at org.bukkit.craftbukkit.v1_12_R1.CraftServer.dispatchCommand(CraftServer.java:648) [spigot-1.12.2.jar:git-Spigot-dcd1643-e60fc34]
at org.bukkit.craftbukkit.v1_12_R1.CraftServer.dispatchServerCommand(CraftServer.java:634) [spigot-1.12.2.jar:git-Spigot-dcd1643-e60fc34]
at net.minecraft.server.v1_12_R1.DedicatedServer.aP(DedicatedServer.java:444) [spigot-1.12.2.jar:git-Spigot-dcd1643-e60fc34]
at net.minecraft.server.v1_12_R1.DedicatedServer.D(DedicatedServer.java:407) [spigot-1.12.2.jar:git-Spigot-dcd1643-e60fc34]
at net.minecraft.server.v1_12_R1.MinecraftServer.C(MinecraftServer.java:679) [spigot-1.12.2.jar:git-Spigot-dcd1643-e60fc34]
at net.minecraft.server.v1_12_R1.MinecraftServer.run(MinecraftServer.java:577) [spigot-1.12.2.jar:git-Spigot-dcd1643-e60fc34]
at java.lang.Thread.run(Unknown Source) [?:1.8.0_301]
Caused by: java.lang.ClassNotFoundException: plugin.Main
at java.net.URLClassLoader.findClass(Unknown Source) ~[?:1.8.0_301]
at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:152) ~[spigot-1.12.2.jar:git-Spigot-dcd1643-e60fc34]
at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:100) ~[spigot-1.12.2.jar:git-Spigot-dcd1643-e60fc34]
at java.lang.ClassLoader.loadClass(Unknown Source) ~[?:1.8.0_301]
at java.lang.ClassLoader.loadClass(Unknown Source) ~[?:1.8.0_301]
at java.lang.Class.forName0(Native Method) ~[?:1.8.0_301]
at java.lang.Class.forName(Unknown Source) ~[?:1.8.0_301]
at org.bukkit.plugin.java.PluginClassLoader.<init>(PluginClassLoader.java:78) ~[spigot-1.12.2.jar:git-Spigot-dcd1643-e60fc34]
... 15 more
到底哪里不对?
我必须说,插件的普通版本,没有使用 Maven,工作正常。 不得不说,普通版的插件,没有使用 Maven,运行良好。
【问题讨论】:
-
没有
plugin.yml。问题是为什么你有一个 yml 文件?其次,您的 pom.xml 设置如何?
标签: java maven plugins classnotfoundexception