Класс не существует и существует

Я получаю исключение NoClassDefFoundError. Я не знаю, почему, потому что мой класс импортирован и в компиляторе нет ошибок, но когда я запускаю плагин, возникает ошибка. Я даже проверил, существует ли файл .class в файле .jar, и он существовал, поэтому я не знаю, в чем проблема, вот исключение, которое я получил:

      [22:45:24] [Server thread/ERROR]: null
org.bukkit.command.CommandException: Unhandled exception executing command 'sb' in plugin YTScoreboard v2.6.3
        at org.bukkit.command.PluginCommand.execute(PluginCommand.java:47) ~[1.16.jar:3096a-Spigot-9fb885e-af1a232]
        at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:149) ~[1.16.jar:3096a-Spigot-9fb885e-af1a232]
        at org.bukkit.craftbukkit.v1_16_R3.CraftServer.dispatchCommand(CraftServer.java:761) ~[1.16.jar:3096a-Spigot-9fb885e-af1a232]
        at net.minecraft.server.v1_16_R3.PlayerConnection.handleCommand(PlayerConnection.java:1936) ~[1.16.jar:3096a-Spigot-9fb885e-af1a232]
        at net.minecraft.server.v1_16_R3.PlayerConnection.c(PlayerConnection.java:1779) ~[1.16.jar:3096a-Spigot-9fb885e-af1a232]
        at net.minecraft.server.v1_16_R3.PlayerConnection.a(PlayerConnection.java:1732) ~[1.16.jar:3096a-Spigot-9fb885e-af1a232]
        at net.minecraft.server.v1_16_R3.PacketPlayInChat.a(PacketPlayInChat.java:49) ~[1.16.jar:3096a-Spigot-9fb885e-af1a232]
        at net.minecraft.server.v1_16_R3.PacketPlayInChat.a(PacketPlayInChat.java:1) ~[1.16.jar:3096a-Spigot-9fb885e-af1a232]
        at net.minecraft.server.v1_16_R3.PlayerConnectionUtils.lambda$0(PlayerConnectionUtils.java:28) ~[1.16.jar:3096a-Spigot-9fb885e-af1a232]
        at net.minecraft.server.v1_16_R3.TickTask.run(SourceFile:18) ~[1.16.jar:3096a-Spigot-9fb885e-af1a232]
        at net.minecraft.server.v1_16_R3.IAsyncTaskHandler.executeTask(SourceFile:144) ~[1.16.jar:3096a-Spigot-9fb885e-af1a232]
        at net.minecraft.server.v1_16_R3.IAsyncTaskHandlerReentrant.executeTask(SourceFile:23) ~[1.16.jar:3096a-Spigot-9fb885e-af1a232]
        at net.minecraft.server.v1_16_R3.IAsyncTaskHandler.executeNext(SourceFile:118) ~[1.16.jar:3096a-Spigot-9fb885e-af1a232]
        at net.minecraft.server.v1_16_R3.MinecraftServer.bb(MinecraftServer.java:1061) ~[1.16.jar:3096a-Spigot-9fb885e-af1a232]
        at net.minecraft.server.v1_16_R3.MinecraftServer.executeNext(MinecraftServer.java:1054) ~[1.16.jar:3096a-Spigot-9fb885e-af1a232]
        at net.minecraft.server.v1_16_R3.IAsyncTaskHandler.executeAll(SourceFile:103) ~[1.16.jar:3096a-Spigot-9fb885e-af1a232]
        at net.minecraft.server.v1_16_R3.MinecraftServer.sleepForTick(MinecraftServer.java:1037) ~[1.16.jar:3096a-Spigot-9fb885e-af1a232]
        at net.minecraft.server.v1_16_R3.MinecraftServer.w(MinecraftServer.java:970) ~[1.16.jar:3096a-Spigot-9fb885e-af1a232]
        at net.minecraft.server.v1_16_R3.MinecraftServer.lambda$0(MinecraftServer.java:273) ~[1.16.jar:3096a-Spigot-9fb885e-af1a232]
        at java.lang.Thread.run(Thread.java:831) [?:?]
Caused by: java.lang.NoClassDefFoundError: Could not initialize class pl.Werokowy.ytscoreboard.ScoreboadAPI
        at pl.Werokowy.ytscoreboard.SBCmd.onCommand(SBCmd.java:57) ~[?:?]
        at org.bukkit.command.PluginCommand.execute(PluginCommand.java:45) ~[1.16.jar:3096a-Spigot-9fb885e-af1a232]
        ... 19 more

Код очень простой, поэтому мне не нужно его показывать: ScoreboardAPI.updateScoreboard()

1 ответ

Если классы не создают проблем во время компиляции и файл jar создается из этого, я предполагаю, что оба класса являются частью одного и того же jar, и, следовательно, путь к классам не является проблемой.

См. текст в вашем NoClassDefFoundError: Не удалось инициализировать класс pl.Werokowy.ytscoreboard.ScoreboadAPI.

Это не «ClassNotFoundException», и оно указывает на проблему при создании класса или экземпляра. Возможно, это не конструктор вызывает исключение, но это также может быть код, который необходимо запустить помимо конструктора или даже на уровне класса.

Проверьте свои определения переменных (и то, как они инициализируются), а также проверьте статические инициализаторы.

Другие вопросы по тегам