Hallo Javafreunde,
Ich möchte für ein Project in ein Hashlist aufgelistete .class zu ein bestimmten Zeitpunkt laden.
Ich habe es schon mit Class und den Constructor versucht an die run-Methode ranzukommen, aber vergeblich.
Hier mein Code:
Die Fehlermeldung:
Ich möchte für ein Project in ein Hashlist aufgelistete .class zu ein bestimmten Zeitpunkt laden.
Ich habe es schon mit Class und den Constructor versucht an die run-Methode ranzukommen, aber vergeblich.
Hier mein Code:
PHP:
package de.bukkit.java.jonas18175.MiniGames;
import java.lang.reflect.Constructor;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
public class GameReflector {
private Class<?> Game = null;
private Object GameObject = null;
public Class<?> setGame(String gameName)
{
GameArenas.linkGames();
GameArenas gamearena = GameArenas.toEnum(gameName);
Game = GameArenas.GameClasses.get(gamearena).getClass();
Constructor<?> GameConstructor;
try {
GameConstructor = Game.getConstructor();
GameObject = GameConstructor.newInstance();
} catch (NoSuchMethodException e) {
e.printStackTrace();
} catch (SecurityException e) {
e.printStackTrace();
} catch (InstantiationException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (IllegalArgumentException e) {
e.printStackTrace();
} catch (InvocationTargetException e) {
e.printStackTrace();
}
return Game;
}
public Method isStarted()
{
try {
return Game.getMethod("isStarted", GameObject.getClass());
} catch (NoSuchMethodException e) {
e.printStackTrace();
} catch (SecurityException e) {
e.printStackTrace();
}
return null;
}
public Method setStarted(boolean Started)
{
try
{
Method setStarted = Game.getMethod("setStarted", Game);
try
{
@SuppressWarnings("rawtypes")
Constructor GameConstructor = Game.getConstructor(new Class[0]);
try {
Object GameObject = GameConstructor.newInstance(new Object[0]);
setStarted.invoke(GameObject, new Object[] { new Boolean(Started)});
} catch (InstantiationException e) {
e.printStackTrace();
}
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (IllegalArgumentException e) {
e.printStackTrace();
} catch (InvocationTargetException e) {
e.printStackTrace();
}
} catch (NoSuchMethodException e) {
e.printStackTrace();
} catch (SecurityException e) {
e.printStackTrace();
}
return null;
}
public Method run()
{
try {
return Game.getMethod("run", Game);
} catch (NoSuchMethodException e) {
e.printStackTrace();
} catch (SecurityException e) {
e.printStackTrace();
}
return null;
}
}
PHP:
12:49:26 WARN]: java.lang.NoSuchMethodException: java.lang.Class.<init>()
[12:49:26 WARN]: at java.lang.Class.getConstructor0(Class.java:2810)
[12:49:26 WARN]: at java.lang.Class.getConstructor(Class.java:1718)
[12:49:26 WARN]: at de.bukkit.java.jonas18175.MiniGames.GameReflector.setGame(GameReflector.java:20)
[12:49:26 WARN]: at de.bukkit.java.jonas18175.MiniGames.Arena.setGame(Arena.java:138)
[12:49:26 WARN]: at de.bukkit.java.jonas18175.MiniGames.CommandMain.onCommand(CommandMain.java:184)
[12:49:26 WARN]: at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44)
[12:49:26 WARN]: at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:196)
[12:49:26 WARN]: at org.bukkit.craftbukkit.v1_7_R1.CraftServer.dispatchCommand(CraftServer.java:542)
[12:49:26 WARN]: at net.minecraft.server.v1_7_R1.PlayerConnection.handleCommand(PlayerConnection.java:932)
[12:49:26 WARN]: at net.minecraft.server.v1_7_R1.PlayerConnection.a(PlayerConnection.java:814)
[12:49:26 WARN]: at net.minecraft.server.v1_7_R1.PacketPlayInChat.a(PacketPlayInChat.java:28)
[12:49:26 WARN]: at net.minecraft.server.v1_7_R1.PacketPlayInChat.handle(PacketPlayInChat.java:47)
[12:49:26 WARN]: at net.minecraft.server.v1_7_R1.NetworkManager.a(NetworkManager.java:146)
[12:49:26 WARN]: at net.minecraft.server.v1_7_R1.ServerConnection.c(SourceFile:134)
[12:49:26 WARN]: at net.minecraft.server.v1_7_R1.MinecraftServer.u(MinecraftServer.java:655)
[12:49:26 WARN]: at net.minecraft.server.v1_7_R1.DedicatedServer.u(DedicatedServer.java:250)
[12:49:26 WARN]: at net.minecraft.server.v1_7_R1.MinecraftServer.t(MinecraftServer.java:545)
[12:49:26 WARN]: at net.minecraft.server.v1_7_R1.MinecraftServer.run(MinecraftServer.java:457)
[12:49:26 WARN]: at net.minecraft.server.v1_7_R1.ThreadServerApplication.run(SourceFile:617)
[12:49:26 WARN]: java.lang.NoSuchMethodException: java.lang.Class.run(java.lang.Class)
[12:49:26 WARN]: at java.lang.Class.getMethod(Class.java:1665)
[12:49:26 WARN]: at de.bukkit.java.jonas18175.MiniGames.GameReflector.run(GameReflector.java:84)
[12:49:26 WARN]: at de.bukkit.java.jonas18175.MiniGames.Arena.run(Arena.java:143)
[12:49:26 WARN]: at de.bukkit.java.jonas18175.MiniGames.CommandMain.onCommand(CommandMain.java:185)
[12:49:26 WARN]: at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44)
[12:49:26 WARN]: at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:196)
[12:49:26 WARN]: at org.bukkit.craftbukkit.v1_7_R1.CraftServer.dispatchCommand(CraftServer.java:542)
[12:49:26 WARN]: at net.minecraft.server.v1_7_R1.PlayerConnection.handleCommand(PlayerConnection.java:932)
[12:49:26 WARN]: at net.minecraft.server.v1_7_R1.PlayerConnection.a(PlayerConnection.java:814)
[12:49:26 WARN]: at net.minecraft.server.v1_7_R1.PacketPlayInChat.a(PacketPlayInChat.java:28)
[12:49:26 WARN]: at net.minecraft.server.v1_7_R1.PacketPlayInChat.handle(PacketPlayInChat.java:47)
[12:49:26 WARN]: at net.minecraft.server.v1_7_R1.NetworkManager.a(NetworkManager.java:146)
[12:49:26 WARN]: at net.minecraft.server.v1_7_R1.ServerConnection.c(SourceFile:134)
[12:49:26 WARN]: at net.minecraft.server.v1_7_R1.MinecraftServer.u(MinecraftServer.java:655)
[12:49:26 WARN]: at net.minecraft.server.v1_7_R1.DedicatedServer.u(DedicatedServer.java:250)
[12:49:26 WARN]: at net.minecraft.server.v1_7_R1.MinecraftServer.t(MinecraftServer.java:545)
[12:49:26 WARN]: at net.minecraft.server.v1_7_R1.MinecraftServer.run(MinecraftServer.java:457)
[12:49:26 WARN]: at net.minecraft.server.v1_7_R1.ThreadServerApplication.run(SourceFile:617)