【问题标题】:Plugins main class not found when using Maven使用 Maven 时找不到插件主类
【发布时间】: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


【解决方案1】:

您的plugin.yml 文件中的main 条目包含plugin.Main,但您的jar 文件中似乎没有plugin.Main 类。由于您没有包含您的pom.xml,我无法知道到底出了什么问题。我建议您查看these maven plugin setups 并查看更改设置以使用这些插件是否有效。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-02-28
    • 2017-10-28
    • 2019-01-17
    • 2019-01-23
    • 2021-08-10
    • 1970-01-01
    • 2013-05-24
    • 1970-01-01
    相关资源
    最近更新 更多