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

Class not found exception

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

Статус темы:
Закрыта.
  1. Автор темы
    Migel

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

    Баллы:
    66
    Имя в Minecraft:
    Migel077
    Всем приветик, не понимаю в чём моя ошибка, может поможет кто..

    Код:
    [21:31:24] [Server thread/WARN]: Unexpected exception while parsing console command "discordapi write"
    org.bukkit.command.CommandException: Unhandled exception executing command 'discordapi' in plugin DiscordHelper v1.0
            at org.bukkit.command.PluginCommand.execute(PluginCommand.java:47) ~[spigot-api-1.19.2-R0.1-SNAPSHOT.jar:?]
            at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:149) ~[spigot-api-1.19.2-R0.1-SNAPSHOT.jar:?]
            at org.bukkit.craftbukkit.v1_19_R1.CraftServer.dispatchCommand(CraftServer.java:833) ~[spigot-1.19.2-R0.1-SNAPSHOT.jar:3594-Spigot-4aa5ead-9306170]
            at org.bukkit.craftbukkit.v1_19_R1.CraftServer.dispatchServerCommand(CraftServer.java:818) ~[spigot-1.19.2-R0.1-SNAPSHOT.jar:3594-Spigot-4aa5ead-9306170]
            at net.minecraft.server.dedicated.DedicatedServer.bg(DedicatedServer.java:419) ~[spigot-1.19.2-R0.1-SNAPSHOT.jar:3594-Spigot-4aa5ead-9306170]
            at net.minecraft.server.dedicated.DedicatedServer.b(DedicatedServer.java:395) ~[spigot-1.19.2-R0.1-SNAPSHOT.jar:3594-Spigot-4aa5ead-9306170]
            at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:1197) ~[spigot-1.19.2-R0.1-SNAPSHOT.jar:3594-Spigot-4aa5ead-9306170]
            at net.minecraft.server.MinecraftServer.v(MinecraftServer.java:1013) ~[spigot-1.19.2-R0.1-SNAPSHOT.jar:3594-Spigot-4aa5ead-9306170]
            at net.minecraft.server.MinecraftServer.lambda$0(MinecraftServer.java:293) ~[spigot-1.19.2-R0.1-SNAPSHOT.jar:3594-Spigot-4aa5ead-9306170]
            at java.lang.Thread.run(Thread.java:833) [?:?]
    Caused by: java.lang.NoClassDefFoundError: discordhelper/discordhelper/utils/LinkResponse
            at discordhelper.discordhelper.commands.executors.DiscordApiE.onCommand(DiscordApiE.java:49) ~[?:?]
            at org.bukkit.command.PluginCommand.execute(PluginCommand.java:45) ~[spigot-api-1.19.2-R0.1-SNAPSHOT.jar:?]
            ... 9 more
    Caused by: java.lang.ClassNotFoundException: discordhelper.discordhelper.utils.LinkResponse
            at org.bukkit.plugin.java.PluginClassLoader.loadClass0(PluginClassLoader.java:147) ~[spigot-api-1.19.2-R0.1-SNAPSHOT.jar:?]
            at org.bukkit.plugin.java.PluginClassLoader.loadClass(PluginClassLoader.java:99) ~[spigot-api-1.19.2-R0.1-SNAPSHOT.jar:?]
            at java.lang.ClassLoader.loadClass(ClassLoader.java:520) ~[?:?]
            at discordhelper.discordhelper.commands.executors.DiscordApiE.onCommand(DiscordApiE.java:49) ~[?:?]
            at org.bukkit.command.PluginCommand.execute(PluginCommand.java:45) ~[spigot-api-1.19.2-R0.1-SNAPSHOT.jar:?]
            ... 9 more
    DiscordApiE

    Код:
    else if (args[0].equalsIgnoreCase("write")){
    
                    ArrayList<LinkResponse> list = new ArrayList<>();
                    LinkResponse response = new LinkResponse();
                    response.discord_id = "546446546546545654";
                    response.discord_name = "xui";
                    response.timestamp = System.currentTimeMillis();
                    list.add(0, response);
                    list.add(1, response);
                    list.add(2, response);
                    list.add(3, response);
                    list.add(4, response);
                    dataFM.set("users.4", list);
                    SaveDataYaml();
            }
    (кусочек)

    класс LinkResponse

    Код:
    package discordhelper.discordhelper.utils;
    
    public class LinkResponse {
        public String discord_id;
        public Long timestamp;
        public String discord_name;
    }
    
     
  2. therimuru_

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

    Баллы:
    66
    Имя в Minecraft:
    therimuru_
    Отправь фул класс DiscordApiE

    UPD: кроме токена
     
  3. Автор темы
    Migel

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

    Баллы:
    66
    Имя в Minecraft:
    Migel077
    да там ничего нет, просто команда для теста всякого моего кода

    Код:
    package discordhelper.discordhelper.commands.executors;
    
    import discordhelper.discordhelper.utils.DB_response;
    import discordhelper.discordhelper.utils.LinkResponse;
    import org.bukkit.Bukkit;
    import org.bukkit.command.Command;
    import org.bukkit.command.CommandExecutor;
    import org.bukkit.command.CommandSender;
    import org.bukkit.entity.Player;
    import org.jetbrains.annotations.NotNull;
    
    import java.util.ArrayList;
    
    import static discordhelper.discordhelper.DiscordHelper.*;
    
    public class DiscordApiE implements CommandExecutor {
    
        @Override
        public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, @NotNull String[] args) {
    
            if (sender instanceof Player) {
                Player player = (Player) sender;
                if (args[0].equals("baltop")) {
                    player.sendMessage("" + getBalTopUser(0) + " | " + getBalTopInt(0));
                    player.sendMessage("" + getBalTopUser(1) + " | " + getBalTopInt(1));
                    player.sendMessage("" + getBalTopUser(2) + " | " + getBalTopInt(2));
                    player.sendMessage("" + getBalTopUser(3) + " | " + getBalTopInt(3));
                    player.sendMessage("" + getBalTopUser(4) + " | " + getBalTopInt(4));
                    return true;
                } else if (args[0].equals("essentials")) {
                    player.sendMessage("Status: " + essentials.isEnabled() + "\n" + "Version: " + essentials);
                    return true;
                } else if (args[0].equalsIgnoreCase("respLog")) {
                    DB_response db_response = db_response('b', "907232001831075870");
                    Bukkit.getLogger().info(db_response.b_record + "|" + db_response.a_record + "|" + db_response.db_user);
    
    
                    return true;
                } else {
                    return true;
                }
            } else {
                if (args[0].equalsIgnoreCase("respLog")){
                    DB_response db_response = db_response('a', "degradate");
                    Bukkit.getLogger().info(db_response.b_record + "|" + db_response.a_record + "|" + db_response.db_user);
            } else if (args[0].equalsIgnoreCase("write")){
    
                    ArrayList<LinkResponse> list = new ArrayList<>();
                    LinkResponse response = new LinkResponse();
                    response.discord_id = "546446546546545654";
                    response.discord_name = "xui";
                    response.timestamp = System.currentTimeMillis();
                    list.add(0, response);
                    list.add(1, response);
                    list.add(2, response);
                    list.add(3, response);
                    list.add(4, response);
                    dataFM.set("users.4", list);
                    SaveDataYaml();
            }
                else {
                    return false;
                }
            }
            return true;
        }
    }


    db_response метод если интересно

    Код:
    public static DB_response db_response(char type, String request){
            DB_response db = new DB_response();
    
            Set<String> db_sets = dataFM.getConfigurationSection("users").getKeys(false);
            int db_size = db_sets.size();
    
    
            switch (type) {
                case 'a' -> {
                    db.a_record = request;
                    for (int i = 0; i < db_size; i++) {
                        if (Objects.equals(dataFM.getString("users." + i + ".a"), request)) {
                            db.b_record = dataFM.getString("users." + i + ".b");
                            db.db_user = i;
                        }
                    }
                }
                case 'b' -> {
                    db.b_record = request;
                    for (int i = 0; i < db_size; i++) {
                        if (Objects.equals(dataFM.getString("users." + i + ".b"), request)) {
                            db.a_record = dataFM.getString("users." + i + ".a");
                            db.db_user = i;
                        }
                    }
                }
            }
            return db;
        }
     
  4. Автор темы
    Migel

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

    Баллы:
    66
    Имя в Minecraft:
    Migel077
    класс DB


    Код:
    package discordhelper.discordhelper.utils;
    
    public class DB_response {
        public String a_record;
        public String b_record;
        public int db_user;
    }
    
     
  5. Sturm_PT

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

    Баллы:
    76
    Открой архиватором джарку, у тебя иде этот класс туда засунула?
     
  6. Автор темы
    Migel

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

    Баллы:
    66
    Имя в Minecraft:
    Migel077
    открыл, класс на месте.
     
Статус темы:
Закрыта.

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