NoClassDefFoundError bringt mich zum verzweifeln :(

Wenn ihr bei eurem Plugin nicht weiter kommt, könnt ihr hier euer Problem beschreiben und um Hilfe bitten.

NoClassDefFoundError bringt mich zum verzweifeln :(

Beitragvon Daniel_Gustav » Di 12. Apr 2016, 11:05

Hallo,

ich bin neu hier in dem Forum. Habe aber das Problem dass ich bei Bukkit immer den Fehler bekomme.

Code: Alles auswählen
  1. [LMS] Task #122 for LMS v1.0 generated an exception
  2. java.lang.NoClassDefFoundError: de/likekits24/lms/Game$2
  3.         at de.likekits24.lms.Game.startGame(Game.java:159) ~[?:?]
  4.         at de.likekits24.lms.Game.access$0(Game.java:75) ~[?:?]
  5.         at de.likekits24.lms.Game$1.run(Game.java:64) ~[?:?]
  6.         at org.bukkit.craftbukkit.v1_7_R4.scheduler.CraftTask.run(CraftTask.java:71) ~[spigot.jar:git-Spigot-1646]
  7.         at org.bukkit.craftbukkit.v1_7_R4.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:350) [spigot.jar:git-Spigot-1646]
  8.         at net.minecraft.server.v1_7_R4.MinecraftServer.v(MinecraftServer.java:641) [spigot.jar:git-Spigot-1646]
  9.         at net.minecraft.server.v1_7_R4.DedicatedServer.v(DedicatedServer.java:289) [spigot.jar:git-Spigot-1646]
  10.         at net.minecraft.server.v1_7_R4.MinecraftServer.u(MinecraftServer.java:584) [spigot.jar:git-Spigot-1646]
  11.         at net.minecraft.server.v1_7_R4.MinecraftServer.run(MinecraftServer.java:490) [spigot.jar:git-Spigot-1646]
  12.         at net.minecraft.server.v1_7_R4.ThreadServerApplication.run(SourceFile:628) [spigot.jar:git-Spigot-1646]
  13. Caused by: java.lang.ClassNotFoundException: de.likekits24.lms.Game$2
  14.         at java.net.URLClassLoader.findClass(Unknown Source) ~[?:1.8.0_77]
  15.         at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:101) ~[spigot.jar:git-Spigot-1646]
  16.         at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:86) ~[spigot.jar:git-Spigot-1646]
  17.         at java.lang.ClassLoader.loadClass(Unknown Source) ~[?:1.8.0_77]
  18.         at java.lang.ClassLoader.loadClass(Unknown Source) ~[?:1.8.0_77]
  19.         ... 10 more


Hier die Fehlerklasse:

Code: Alles auswählen
  1. package de.likekits24.lms;
  2. import java.util.ArrayList;
  3. import java.util.Random;
  4. import org.bukkit.Bukkit;
  5. import org.bukkit.Color;
  6. import org.bukkit.FireworkEffect;
  7. import org.bukkit.Location;
  8. import org.bukkit.Material;
  9. import org.bukkit.Sound;
  10. import org.bukkit.entity.Firework;
  11. import org.bukkit.entity.Player;
  12. import org.bukkit.event.EventHandler;
  13. import org.bukkit.event.Listener;
  14. import org.bukkit.event.entity.PlayerDeathEvent;
  15. import org.bukkit.event.inventory.InventoryClickEvent;
  16. import org.bukkit.event.player.PlayerCommandPreprocessEvent;
  17. import org.bukkit.event.player.PlayerDropItemEvent;
  18. import org.bukkit.event.player.PlayerInteractEvent;
  19. import org.bukkit.event.player.PlayerQuitEvent;
  20. import org.bukkit.inventory.Inventory;
  21. import org.bukkit.inventory.ItemStack;
  22. import org.bukkit.inventory.meta.FireworkMeta;
  23. import org.bukkit.inventory.meta.ItemMeta;
  24. public class Game implements Listener {
  25.    
  26.    private Main main;
  27.    int scheduler;
  28.    int won;
  29.    int xXcounterXx;
  30.    Spawn spawn;
  31.    Kit kit;
  32.    
  33.    public Game(Main main) {
  34.       this.main = main;
  35.       spawn = new Spawn(main);
  36.       kit = new Kit(main);
  37.    }
  38.    
  39.    public boolean isRoundCreated() {
  40.       return main.created;
  41.    }
  42.    
  43.    public void createRound(Player p) {
  44.       main.created = true;
  45.       
  46.       Bukkit.broadcastMessage("§9LastManStanding §8» §7Start game in 2 minutes. §6/lms join §7or use §6Teleporter §7to join");
  47.       
  48.       scheduler = Bukkit.getScheduler().scheduleSyncRepeatingTask(main, new Runnable() {
  49.          int count = 120;
  50.          
  51.          @Override
  52.          public void run() {            
  53.             if (count == 60) {
  54.                Bukkit.broadcastMessage("§9LastManStanding §8» §7Starting game in 1 minute. §6/lms join §7or use §6Teleporter §7to join");
  55.             } else if (count == 10) {
  56.                Bukkit.broadcastMessage("§9LastManStanding §8» §7Starting game in 10 seconds. §6/lms join §7or use §6Teleporter §7to join");
  57.             } else if (count == 0) {
  58.                Bukkit.broadcastMessage("§9LastManStanding §8» §7Game has been §6started");
  59.                Bukkit.getScheduler().cancelTask(scheduler);
  60.                
  61.                startGame();
  62.                
  63.                return;
  64.             }
  65.             count = count - 1;
  66.          }
  67.       }, 20, 20);
  68.       
  69.       join(p);
  70.    }
  71.    
  72.    private void startGame() {
  73.       main.vote.clear();
  74.       main.started = true;
  75.       main.move = true;
  76.       String kit = null;
  77.       ArrayList<Location> spawns = spawn.getSpawns();
  78.       
  79.       for (Player p : main.joined) {
  80.          p.getInventory().clear();
  81.          p.updateInventory();
  82.       }
  83.       
  84.       if (!main.vote.isEmpty()) {
  85.          for (String vote : main.vote.keySet()) {
  86.             if (kit != null) {
  87.                if (main.vote.get(kit) < main.vote.get(vote)) {
  88.                   kit = vote;
  89.                }
  90.             } else {
  91.                kit = vote;
  92.             }
  93.          }
  94.       } else {
  95.          ArrayList<String> kits = this.kit.getKits();
  96.          
  97.          Random r = new Random();
  98.          int random = r.nextInt(kits.size());
  99.          
  100.          kit = kits.get(random);
  101.       }
  102.       
  103.       for (Player p : main.joined) {
  104.          p.sendMessage("§9LastManStanding §8» §7The kit §6" + kit + " §7won the §6voting");
  105.       }
  106.       
  107.       for (int i = 0; i < main.joined.size(); i++) {
  108.          Player p = main.joined.get(i);
  109.          Location loc = spawns.get(i);
  110.          p.getInventory().clear();
  111.          p.teleport(loc);
  112.          this.kit.getKit(kit, p);
  113.          p.updateInventory();
  114.       }
  115.       
  116. //      if (joined.size() < 4) {
  117. //         for (String name : joined) {
  118. //            Player p = Bukkit.getPlayer(name);
  119. //            p.sendMessage("§9LastManStanding §8» §cNot enough players joined: Game cancelled");
  120. //            p.getInventory().clear();
  121. //            p.updateInventory();
  122. //            p.teleport(Bukkit.getWorld("lobby").getSpawnLocation());
  123. //         }
  124. //         return;
  125. //      }
  126.       
  127.       if (kit == null) {
  128.          for (Player p : main.joined) {
  129.             p.sendMessage("§9LastManStanding §8» §cThere is no kit: Game cancelled");
  130.             p.getInventory().clear();
  131.             p.updateInventory();
  132.             p.teleport(Bukkit.getWorld("lobby").getSpawnLocation());
  133.          }
  134.          return;
  135.       }
  136.       
  137.       if (spawns.isEmpty()) {
  138.          for (Player p : main.joined) {
  139.             p.sendMessage("§9LastManStanding §8» §cThere is no spawn set: Game cancelled");
  140.             p.getInventory().clear();
  141.             p.updateInventory();
  142.             p.teleport(Bukkit.getWorld("lobby").getSpawnLocation());
  143.          }
  144.          return;
  145.       }
  146.       
  147.       for (int i = 0; i < main.joined.size(); i++) {
  148.          Player p = main.joined.get(i);
  149.          Location loc = spawns.get(i);
  150.          p.getInventory().clear();
  151.          p.teleport(loc);
  152.          this.kit.getKit(kit, p);
  153.          p.updateInventory();
  154.       }
  155.       
  156.       xXcounterXx = Bukkit.getScheduler().scheduleSyncRepeatingTask(main, new Runnable() {
  157.          int i = 5;
  158.          
  159.          @Override
  160.          public void run() {
  161.             if (i == 0) {
  162.                Bukkit.getScheduler().cancelTask(xXcounterXx);
  163.                
  164.                for (Player p : main.joined) {
  165.                   p.sendMessage("§9LastManStanding §8» §7Game has begon");
  166.                   p.playSound(p.getLocation(), Sound.LEVEL_UP, 1, 1);
  167.                }
  168.                main.move = false;
  169.                
  170.                return;
  171.             }
  172.             
  173.             for (Player p : main.joined) {
  174.                p.sendMessage("§9LastManStanding §8» §7Game begins in §6" + i + " §7second(s)");
  175.                
  176.                if (i > 0) {
  177.                   p.playSound(p.getLocation(), Sound.ORB_PICKUP, 1, 1);
  178.                }
  179.             }
  180.             
  181.             i--;
  182.          }
  183.       }, 10, 20);
  184.    }
  185.    
  186.    @EventHandler
  187.    public void onPreCommand(PlayerCommandPreprocessEvent e) {
  188.       String cmd = e.getMessage().split(" ")[0];
  189.       Player p = e.getPlayer();
  190.       
  191.       if (cmd.equalsIgnoreCase("/hub") || cmd.equalsIgnoreCase("/lobby")) {
  192.          if (!main.started) {
  193.             p.sendMessage("§9LastManStanding §8» §7You left the game");
  194.             leave(p);
  195.          } else {
  196.             main.joined.remove(p);
  197.             p.sendMessage("§9LastManStanding §8» §7You left the game");
  198.          }
  199.       }
  200.    }
  201.    
  202.    @EventHandler
  203.    public void onQuit(PlayerQuitEvent e) {
  204.       Player p = e.getPlayer();
  205.       
  206.       if (main.joined.contains(p)) {
  207.          if (!main.started) {
  208.             leave(p);
  209.          } else {
  210.             main.joined.remove(p);
  211.          }
  212.       }
  213.       
  214.    }
  215.    
  216.    private void leave(Player p) {
  217.       main.joined.remove(p);
  218.       p.getInventory().clear();
  219.       p.updateInventory();
  220.       
  221.       if (main.joined.isEmpty()) {
  222.          Bukkit.broadcastMessage("§9LastManStanding §8» §7Game §ccancelled");
  223.          main.created = false;
  224.          Bukkit.getScheduler().cancelTask(scheduler);
  225.          return;
  226.       }
  227.       
  228.       main.vote.clear();
  229.       
  230.       for (Player pj : main.joined) {
  231.          pj.sendMessage("§9LastManStanding §8» " + p.getDisplayName() + " §aleft the game");
  232.       }
  233.    }
  234.    
  235.    public void join(Player p) {
  236.       if (isRoundCreated()) {
  237.          main.joined.add(p);
  238.       } else {
  239.          p.sendMessage("§cA bug has been detected, ask an admin");
  240.          return;
  241.       }
  242.       
  243.       if (spawn.getSpawns().size() <= main.joined.size()) {
  244.          p.sendMessage("§9LastManStanding §8» §7The game reached the §6maximum §7of §6players");
  245.          return;
  246.       }
  247.       
  248.       p.teleport(Bukkit.getWorld("lms").getSpawnLocation());
  249.       p.getInventory().clear();
  250.       giveKitVotingItem(p);
  251.       p.updateInventory();
  252.       
  253.       for (Player pj : main.joined) {
  254.          pj.sendMessage("§9LastManStanding §8» " + p.getDisplayName() + " §ajoined the game");
  255.       }
  256.    }
  257.    
  258.    @EventHandler
  259.    public void onDrop(PlayerDropItemEvent e) {
  260.       if (e.getItemDrop() != null) {
  261.          if (e.getItemDrop().getItemStack().getItemMeta().getDisplayName().equals("§9§lKit Voting")) {
  262.             e.setCancelled(true);
  263.          }
  264.       }
  265.    }
  266.    
  267.    @EventHandler
  268.    public void onClick(InventoryClickEvent e) {
  269.       Player p = (Player) e.getWhoClicked();
  270.       
  271.       if (main.joined.contains(p)) {
  272.          if (!main.started) {
  273.             e.setCancelled(true);
  274.          }
  275.       }
  276.       
  277.       if (e.getInventory().getName().equals("§9§lKit Voting")) {         
  278.          if (e.getCurrentItem() != null) {
  279.             if (e.getCurrentItem().getType() != Material.AIR) {
  280.                if (e.getCurrentItem().getItemMeta().getDisplayName() != null) {
  281.                   if (!e.getCurrentItem().getItemMeta().getDisplayName().equalsIgnoreCase("§9§lKit Voting")) {
  282.                      String name = e.getCurrentItem().getItemMeta().getDisplayName();
  283.                      
  284.                      if (main.vote.get(name) == null) {
  285.                         main.vote.put(name, 1);
  286.                      } else {
  287.                         main.vote.put(name, main.vote.get(name) + 1);
  288.                      }
  289.                      
  290.                      p.closeInventory();
  291.                      p.playSound(p.getLocation(), Sound.ANVIL_USE, 1, 1);
  292.                      p.getInventory().clear();
  293.                      p.updateInventory();
  294.                      p.sendMessage("§9LastManStanding §8» §7You voted §6" + name + "§8[§6" + main.vote.get(name) + "§8]");
  295.                   }
  296.                }
  297.             }
  298.          }
  299.       }
  300.    }
  301.    
  302.    @EventHandler
  303.    public void onInteract(PlayerInteractEvent e) {
  304.       Player p = e.getPlayer();
  305.       
  306.       ArrayList<String> kits = kit.getKits();
  307.       
  308.       if (kits.size() > 26) {
  309.          for (int i = 0; i < kits.size(); i++) {
  310.             if (i > 26) {
  311.                kits.remove(i);
  312.             }
  313.          }    
  314.       }
  315.       
  316.       if (p.getItemInHand().getType() == Material.MAGMA_CREAM) {
  317.          if (e.getItem().getItemMeta().getDisplayName().equals("§9§lKit Voting")) {
  318.             Inventory inv = Bukkit.createInventory(null, 27, "§9§lKit Voting");
  319.             
  320.             for (int i = 0; i < kits.size(); i++) {
  321.                ItemStack map = new ItemStack(Material.EMPTY_MAP);
  322.                ItemMeta mapmeta = map.getItemMeta();
  323.                mapmeta.setDisplayName(kits.get(i));
  324.                map.setItemMeta(mapmeta);
  325.                
  326.                inv.setItem(i, map);
  327.             }
  328.             
  329.             p.openInventory(inv);
  330.             p.playSound(p.getLocation(), Sound.ANVIL_LAND, 1, 1);
  331.          }
  332.       }
  333.    }
  334.    
  335.    private void giveKitVotingItem(Player p) {
  336.       ItemStack item = new ItemStack(Material.MAGMA_CREAM);
  337.       ItemMeta meta = item.getItemMeta();
  338.       meta.setDisplayName("§9§lKit Voting");
  339.       item.setItemMeta(meta);
  340.       
  341.       p.getInventory().setItem(4, item);
  342.    }
  343.    
  344.    @EventHandler
  345.    public void onDeath(PlayerDeathEvent e) {
  346.       Player p = e.getEntity();
  347.       Player k;
  348.       
  349.       main.joined.remove(p);
  350.       
  351.       if (!(main.joined.size() == 1)) {
  352.          p.teleport(Bukkit.getWorld("lobby").getSpawnLocation());
  353.       }
  354.       
  355.       if (main.joined.contains(p)) {         
  356.          if (e.getEntity().getKiller() != null) {
  357.             k = e.getEntity().getKiller();
  358.             k.sendMessage("§9LastManStanding §8» §7You killed §6" + p.getName());
  359.             e.setDeathMessage("");
  360.             p.sendMessage("§9LastManStanding §8» §7You got killed by §6" + k.getName());
  361.             lastMan();
  362.          } else {
  363.             e.setDeathMessage("");
  364.             p.sendMessage("§9LastManStanding §8» §7You died");
  365.             lastMan();
  366.          }
  367.       }
  368.    }
  369.    
  370.    private void lastMan() {
  371.       if (main.joined.size() == 1) {
  372.          final Player p = main.joined.get(0);
  373.          
  374.          Bukkit.broadcastMessage("§9LastManStanding §8» " + p.getDisplayName() + " §7won the tournament");
  375.          
  376.          won = Bukkit.getScheduler().scheduleSyncRepeatingTask(main, new Runnable() {
  377.             int count = 5;
  378.             @Override
  379.             public void run() {
  380.                if (count == 0) {
  381.                   Bukkit.getScheduler().cancelTask(won);
  382.                   p.teleport(Bukkit.getWorld("lobby").getSpawnLocation());
  383.                }
  384.                
  385.                Firework fw = p.getWorld().spawn(p.getLocation(), Firework.class);
  386.                FireworkMeta fm = fw.getFireworkMeta();
  387.                
  388.                FireworkEffect effect = FireworkEffect.builder()
  389.                      .withColor(Color.AQUA)
  390.                      .with(FireworkEffect.Type.BALL_LARGE)
  391.                      .build();
  392.                
  393.                fm.addEffect(effect);
  394.                fm.setPower(2);
  395.                fw.setFireworkMeta(fm);
  396.             
  397.                
  398.                --count;
  399.             }
  400.          }, 0, 20);
  401.          
  402.          main.joined.clear();
  403.          main.started = false;
  404.          main.created = false;
  405.       } else {
  406.          Bukkit.broadcastMessage("§9LastManStanding §8» §6Nobody §7won the tournament §2D:");
  407.       }
  408.    }
  409. }


Bukkit version: Spigot 1.7

Bitte um Hilfe.

MfG Daniel_Gustav
Benutzeravatar
Daniel_Gustav
 
Beiträge: 2
Registriert: Di 12. Apr 2016, 11:02

Re: NoClassDefFoundError bringt mich zum verzweifeln :(

Beitragvon PostCrafter » Di 12. Apr 2016, 14:22

Hi [tag]Daniel_Gustav[/ur],

und willkommen im Forum.

Ich glaube dir geht in deinem Code noch ein Import ab, importiere mal java.lang.Runnable, dann sollte alles wieder funktionieren.
Am Besten suchst du dir den Shortcut für die Auto Import-/Organize Import- Funktion deiner IDE raus und verwendest sie, dann fallen solche Probleme direkt raus.
TeamSpeak-Server zur freien Nutzung: postcrafter.de
Benutzeravatar
PostCrafter
Administrator
 
Beiträge: 1443
Registriert: Do 6. Jun 2013, 19:16
Wohnort: Ebersberg


Zurück zu Hilfe und Support

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 15 Gäste

cron