1. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
    Скрыть объявление
Скрыть объявление
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!

Помогите Ошибка с самописным плагинам(java.lang.NoClassDefFoundError)

Тема в разделе "Разработка плагинов для новичков", создана пользователем shalkin, 22 авг 2020.

  1. Автор темы
    shalkin

    shalkin Новичок Пользователь

    Баллы:
    16
    Имя в Minecraft:
    shoringan
    Здравствуйте!
    Многие я думаю из вас не очень разбираются в писание плагинов, но я надеюсь, что наидутся и люди, которые в этой теме шарят.
    Ну, если кратко, то я начинаюший в этом деле, и знаю что эта проблема очень популярно, но как решить, я так и не понял.
    Ну после того, как я написал этот код (код сам ниже) у меня начилась вылазить ошибка java.lang.NoClassDefFoundError.
    Инструкцию я нашел, но что не пробывал, не работает.
    Заранее, спасибо!
    Код:
    package Helloworld;
    
    import java.util.logging.Logger;
    
    import org.bukkit.Bukkit;
    import org.bukkit.plugin.java.JavaPlugin;
    
    public class Main extends JavaPlugin {
      
        Logger log = Logger.getLogger("Minecraft");
      
        @Override
        public void onEnable() {
          
            Bukkit.getPluginManager().registerEvents(new News(), this);
          
            getLogger().info("Sucessfull enabled!");
        }
      
        @Override
        public void onDisable() {
            getLogger().info("Sucessfull disabled!");
        }
      
    }
    Код news:
    Код:
    package Helloworld;
    
    import org.bukkit.Material;
    import org.bukkit.entity.Player;
    import org.bukkit.event.EventHandler;
    import org.bukkit.event.Listener;
    import org.bukkit.event.player.PlayerJoinEvent;
    import org.*********ventory.ItemStack;
    
    public class News implements Listener{
      
        @EventHandler
        public void join(PlayerJoinEvent e) {
            Player p = e.getPlayer();
            p.sendMessage("&7Ты зашел на сервак, бро!");
          
            ItemStack item = new ItemStack(Material.DIAMOND_AXE);
            p.getInventory().addItem(item);
        }
    
    
    }
    
     
  2. Автор темы
    shalkin

    shalkin Новичок Пользователь

    Баллы:
    16
    Имя в Minecraft:
    shoringan
    Вылазит ошибка в консоли, вот лог ошибки
    Код:
    Helloworld] Enabling Helloworld v1.0
    [22:29:53] [Server thread/ERROR]: Error occurred while enabling Helloworld v1.0 (Is it up to date?)
    java.lang.NoClassDefFoundError: Helloworld/News
        at Helloworld.Main.onEnable(Main.java:15) ~[?:?]
        at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:263) ~[spigot-1.16.1.jar:git-Spigot-9639cf7-4b9bc9d]
        at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:351) [spigot-1.16.1.jar:git-Spigot-9639cf7-4b9bc9d]
        at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:480) [spigot-1.16.1.jar:git-Spigot-9639cf7-4b9bc9d]
        at org.bukkit.craftbukkit.v1_16_R1.CraftServer.enablePlugin(CraftServer.java:493) [spigot-1.16.1.jar:git-Spigot-9639cf7-4b9bc9d]
        at org.bukkit.craftbukkit.v1_16_R1.CraftServer.enablePlugins(CraftServer.java:407) [spigot-1.16.1.jar:git-Spigot-9639cf7-4b9bc9d]
        at net.minecraft.server.v1_16_R1.MinecraftServer.loadWorld(MinecraftServer.java:438) [spigot-1.16.1.jar:git-Spigot-9639cf7-4b9bc9d]
        at net.minecraft.server.v1_16_R1.DedicatedServer.init(DedicatedServer.java:219) [spigot-1.16.1.jar:git-Spigot-9639cf7-4b9bc9d]
        at net.minecraft.server.v1_16_R1.MinecraftServer.v(MinecraftServer.java:810) [spigot-1.16.1.jar:git-Spigot-9639cf7-4b9bc9d]
        at net.minecraft.server.v1_16_R1.MinecraftServer.lambda$0(MinecraftServer.java:164) [spigot-1.16.1.jar:git-Spigot-9639cf7-4b9bc9d]
        at net.minecraft.server.v1_16_R1.MinecraftServer$$Lambda$2933/1198106017.run(Unknown Source) [spigot-1.16.1.jar:git-Spigot-9639cf7-4b9bc9d]
        at java.lang.Thread.run(Unknown Source) [?:1.8.0_51]
    Caused by: java.lang.ClassNotFoundException: Helloworld.News
        at java.net.URLClassLoader.findClass(Unknown Source) ~[?:1.8.0_51]
        at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:167) ~[spigot-1.16.1.jar:git-Spigot-9639cf7-4b9bc9d]
        at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:96) ~[spigot-1.16.1.jar:git-Spigot-9639cf7-4b9bc9d]
        at java.lang.ClassLoader.loadClass(Unknown Source) ~[?:1.8.0_51]
        at java.lang.ClassLoader.loadClass(Unknown Source) ~[?:1.8.0_51]
        ... 12 more
     
  3. imDaniX

    imDaniX Активный участник Пользователь

    Баллы:
    96
    Имя в Minecraft:
    imDaniX
    Открой свой плагин архивом и проверь наличие класса News.
    И ещё - стандарт для названия пакета - домен в обратном порядке, обычно в нижнем регистре, например org.rubukkit.helloworld, или, если нет сайта, можно указать свой ник, а-ля me.shalin.helloworld
     
  4. Автор темы
    shalkin

    shalkin Новичок Пользователь

    Баллы:
    16
    Имя в Minecraft:
    shoringan
    Нету news когда я открываю архивом.
     
  5. imDaniX

    imDaniX Активный участник Пользователь

    Баллы:
    96
    Имя в Minecraft:
    imDaniX
    Значит что-то не так во время компиляции. Компилируешь в IDE (Eclipse, Intellij IDEA и т.д.), или дедовским способом через командную строку?
     
  6. Автор темы
    shalkin

    shalkin Новичок Пользователь

    Баллы:
    16
    Имя в Minecraft:
    shoringan
  7. imDaniX

    imDaniX Активный участник Пользователь

    Баллы:
    96
    Имя в Minecraft:
    imDaniX
    Ну, собственно, какое? Впрочем, думаю дальше ты сам сможешь разобраться погуглив что-то вроде "not all classes are compiled название_ide"
     
  8. Автор темы
    shalkin

    shalkin Новичок Пользователь

    Баллы:
    16
    Имя в Minecraft:
    shoringan
    Я не понял лишь одного, а что писать в поле название там где пример.
     
  9. LOVEC3327

    LOVEC3327 Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    LOVEC3327
    Название твоей ide
     

Поделиться этой страницей