Resolvido [Ajuda] Caused by: java.lang.ClassNotFoundException

Discussão em 'Resolvidos' iniciado por WizardlyBump17, 14 Fevereiro 2019.

  1. WizardlyBump17
    Offline

    WizardlyBump17 Membro Ativo

    Afiliado:
    11 Março 2018
    Mensagens:
    758
    Sexo:
    Masculino
    Avaliações:
    +224 / -2
    Apelido no Minecraft:
    WizardlyBump17
    Log: (Man eu tava usando host free e no console web n tinha como copiar e colar ent tive q baixar o latest.log inteirinho ;-; )
    Código (Forge Crash):

    [14:59:12] [Server thread/ERROR]: null
    org.bukkit.command.CommandException: Unhandled exception executing command 'unregister' in plugin WLogin v1.0.0
       at org.bukkit.command.PluginCommand.execute(PluginCommand.java:46) ~[spigot-1.8.8.jar:git-Spigot-db6de12-18fbb24]
       at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:141) ~[spigot-1.8.8.jar:git-Spigot-db6de12-18fbb24]
       at org.bukkit.craftbukkit.v1_8_R3.CraftServer.dispatchCommand(CraftServer.java:641) ~[spigot-1.8.8.jar:git-Spigot-db6de12-18fbb24]
       at net.minecraft.server.v1_8_R3.PlayerConnection.handleCommand(PlayerConnection.java:1162) [spigot-1.8.8.jar:git-Spigot-db6de12-18fbb24]
       at net.minecraft.server.v1_8_R3.PlayerConnection.a(PlayerConnection.java:997) [spigot-1.8.8.jar:git-Spigot-db6de12-18fbb24]
       at net.minecraft.server.v1_8_R3.PacketPlayInChat.a(PacketPlayInChat.java:45) [spigot-1.8.8.jar:git-Spigot-db6de12-18fbb24]
       at net.minecraft.server.v1_8_R3.PacketPlayInChat.a(PacketPlayInChat.java:1) [spigot-1.8.8.jar:git-Spigot-db6de12-18fbb24]
       at net.minecraft.server.v1_8_R3.PlayerConnectionUtils$1.run(SourceFile:13) [spigot-1.8.8.jar:git-Spigot-db6de12-18fbb24]
       at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_191]
       at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_191]
       at net.minecraft.server.v1_8_R3.SystemUtils.a(SourceFile:44) [spigot-1.8.8.jar:git-Spigot-db6de12-18fbb24]
       at net.minecraft.server.v1_8_R3.MinecraftServer.B(MinecraftServer.java:715) [spigot-1.8.8.jar:git-Spigot-db6de12-18fbb24]
       at net.minecraft.server.v1_8_R3.DedicatedServer.B(DedicatedServer.java:374) [spigot-1.8.8.jar:git-Spigot-db6de12-18fbb24]
       at net.minecraft.server.v1_8_R3.MinecraftServer.A(MinecraftServer.java:654) [spigot-1.8.8.jar:git-Spigot-db6de12-18fbb24]
       at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:557) [spigot-1.8.8.jar:git-Spigot-db6de12-18fbb24]
       at java.lang.Thread.run(Thread.java:748) [?:1.8.0_191]
    Caused by: java.lang.NoClassDefFoundError: login/apis/API
       at login.comandos.UnregisterCMD.onCommand(UnregisterCMD.java:29) ~[?:?]
       at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44) ~[spigot-1.8.8.jar:git-Spigot-db6de12-18fbb24]
       ... 15 more
    Caused by: java.lang.ClassNotFoundException: login.apis.API
       at java.net.URLClassLoader.findClass(URLClassLoader.java:382) ~[?:1.8.0_191]
       at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:101) ~[spigot-1.8.8.jar:git-Spigot-db6de12-18fbb24]
       at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:86) ~[spigot-1.8.8.jar:git-Spigot-db6de12-18fbb24]
       at java.lang.ClassLoader.loadClass(ClassLoader.java:424) ~[?:1.8.0_191]
       at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ~[?:1.8.0_191]
       at login.comandos.UnregisterCMD.onCommand(UnregisterCMD.java:29) ~[?:?]
       at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44) ~[spigot-1.8.8.jar:git-Spigot-db6de12-18fbb24]
       ... 15 more
     
    Classe Unregister:
    Código (Forge Crash):

    package login.comandos;

    import java.util.UUID;

    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 login.apis.API;

    public class UnregisterCMD implements CommandExecutor {
     
       @SuppressWarnings("deprecation")
       @Override
       public boolean onCommand(CommandSender sender, Command cmd, String lbl, String[] args) {
       
         if(cmd.getName().equalsIgnoreCase("unregister")) {
           if(sender instanceof Player) {
             Player p = (Player) sender;
             if(p.hasPermission("login.unregister")) {
               if(args.length == 0) {
                 p.sendMessage("§7> §e/unregister §7(player)");
               } else {
                 Player target = Bukkit.getPlayerExact(args[0]);
                 if(target != null) {
                   UUID uuid = target.getUniqueId();
                   API.unregister.add(uuid); //Linha 29
                   p.sendMessage("§aFoi enviado uma oportunidade de unregister para " + target.getName());
                   target.sendMessage("§7> §e" + p.getName() + " lhe enviou uma oportunidade");
                   target.sendMessage("§7> de se desregistrar.");
                   target.sendMessage("§7> Digite §7'sim' §epara se desregistrar ou digite §7'nao' §epara cancelar");
                 } else {
                   p.sendMessage("§c" + args[0] + " está offline!");
                 }
               }
             } else {
               p.sendMessage("§cComando desconhecido.");
             }
           }
         }
       
         return false;
       }
     

    }


     
    Classe API:
    Código (Forge Crash):

    package login.apis;

    import java.io.UnsupportedEncodingException;
    import java.security.MessageDigest;
    import java.security.NoSuchAlgorithmException;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.util.ArrayList;
    import java.util.List;
    import java.util.UUID;

    import login.sqlite.SQLite;

    public class API {
     
       public static List<UUID> logados = new ArrayList<UUID>();
       public static List<UUID> unregister = new ArrayList<UUID>();
     
       public static void registrar(UUID uuid, String senha) {
         try {
           MessageDigest alg = MessageDigest.getInstance("MD5");
           byte digerir[] = alg.digest(senha.getBytes("UTF-8"));
           StringBuilder hex = new StringBuilder();
           for(byte b : digerir) {
             hex.append(String.format("%02X", 0xFF & b));
           }
           String s1 = hex.toString();
           SQLite.comando1("INSERT INTO players (uuid, senha) VALUES ('" + uuid + "', '" + s1 + "');");
           logados.add(uuid);
         } catch (NoSuchAlgorithmException e) {
           e.printStackTrace();
         } catch (UnsupportedEncodingException e) {
           e.printStackTrace();
         }
       }
     
       public static void unregister(UUID uuid, String senha) {
         try {
           MessageDigest alg = MessageDigest.getInstance("MD5");
           byte digerir[] = alg.digest(senha.getBytes("UTF-8"));
           StringBuilder hex = new StringBuilder();
           for(byte b : digerir) {
             hex.append(String.format("%02X", 0xFF & b));
           }
           String s1 = hex.toString();
           boolean s2 = SQLite.comando2("SELECT * FROM players WHERE uuid = '" + uuid + "' AND senha = '" + s1 + "';").next();
           if(s2) {
             SQLite.comando1("DELETE FROM players WHERE uuid = '" + uuid + "';");
             logados.remove(uuid);
           }
         } catch (NoSuchAlgorithmException e) {
           e.printStackTrace();
         } catch (UnsupportedEncodingException e) {
           e.printStackTrace();
         } catch (SQLException e) {
           e.printStackTrace();
         }
       }
     
       public static String getSenha(UUID uuid) {
         String retorno = "";
         ResultSet res = SQLite.comando2("SELECT senha FROM players WHERE uuid = '" + uuid + "';");
         try {
           if(res.next()) {
             retorno = res.getString("senha");
           }
         } catch (SQLException e) {
           e.printStackTrace();
         }
         try {
           res.close();
         } catch (SQLException e) {
           e.printStackTrace();
         }
         return retorno;
       }
    }
     
    Simplesmente eu digito /unregister PlayerAqui e da esse erro :/
    Como conserto?

    P.S: fui testar outros comandos que usam a classe API e dão o mesmo erro só q com logs diferentes mas o erro é igual
     
  2. Cael
    Offline

    Cael Veterano Veterano VIP Sabotador.com VIP Sabotador.com Ex-Staff

    Afiliado:
    8 Setembro 2014
    Mensagens:
    1,267
    Avaliações:
    +1,777 / -4
    Apelido no Minecraft:
    Cael
    o java não ta achando a classe da API
     
  3. Foxx Games
    Offline

    Foxx Games Veterano Veterano VIP Industrial

    Afiliado:
    30 Abril 2014
    Mensagens:
    1,244
    Sexo:
    Masculino
    Avaliações:
    +851 / -0
    Apelido no Minecraft:
    NathanPB
    Limpa os caches e recompila
     
  4. Lucas_Gamer13
    Offline

    Lucas_Gamer13 Veterano Veterano VIP Sabotador.com VIP Sabotador.com VIP Industrial

    Afiliado:
    17 Novembro 2015
    Mensagens:
    1,725
    Sexo:
    Masculino
    Avaliações:
    +1,619 / -0
    Apelido no Minecraft:
    Lucas_gamer13
    Está usando uma api certo? Você deve colocar o .jar da api na sua pasta de plugins ou usar Shadow Jar...
     
  5. armelin1
    Offline

    armelin1 Moderador Sênior do Fórum Equipe GameMods Moderador do Fórum Veterano VIP Sabotador.com VIP Sabotador.com VIP Industrial

    Afiliado:
    5 Maio 2014
    Mensagens:
    1,907
    Sexo:
    Masculino
    Avaliações:
    +651 / -0
    Apelido no Minecraft:
    armelin1
    Ou alguma gambiarra que junte tudo num único jar.
     
  6. WizardlyBump17
    Offline

    WizardlyBump17 Membro Ativo

    Afiliado:
    11 Março 2018
    Mensagens:
    758
    Sexo:
    Masculino
    Avaliações:
    +224 / -2
    Apelido no Minecraft:
    WizardlyBump17
    Eu fiz isso mas como o forum n tava on n teve como eu responder
    (funcionou)
     

Compartilhe esta Página