[Bukkit] 2 Eigene Plugins nicht kompatibel?

03/02/2014 20:54 Mansuro#1
Hey,

also ich habe 2 Plugins geschrieben, die einzeln auch funktionieren. Wenn ich jedoch beide gleichzeitig auf einem Server habe, wird nur 1 geladen und ich erhalte folgenden Fehler:

Code:
[20:41:39] [Server thread/ERROR]: Could not load 'plugins/PVPGames.jar' in folder 'plugins'
org.bukkit.plugin.InvalidPluginException: java.lang.IllegalArgumentException: Plugin already initialized!
	at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:137) ~[craftbukkit.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
	at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager.java:313) ~[craftbukkit.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
	at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager.java:236) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
	at org.bukkit.craftbukkit.v1_7_R1.CraftServer.loadPlugins(CraftServer.java:350) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
	at org.bukkit.craftbukkit.v1_7_R1.CraftServer.reload(CraftServer.java:771) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
	at org.bukkit.Bukkit.reload(Bukkit.java:279) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
	at org.bukkit.command.defaults.ReloadCommand.execute(ReloadCommand.java:23) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
	at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:175) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
	at org.bukkit.craftbukkit.v1_7_R1.CraftServer.dispatchCommand(CraftServer.java:683) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
	at net.minecraft.server.v1_7_R1.PlayerConnection.handleCommand(PlayerConnection.java:952) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
	at net.minecraft.server.v1_7_R1.PlayerConnection.a(PlayerConnection.java:814) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
	at net.minecraft.server.v1_7_R1.PacketPlayInChat.a(PacketPlayInChat.java:28) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
	at net.minecraft.server.v1_7_R1.PacketPlayInChat.handle(PacketPlayInChat.java:47) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
	at net.minecraft.server.v1_7_R1.NetworkManager.a(NetworkManager.java:146) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
	at net.minecraft.server.v1_7_R1.ServerConnection.c(SourceFile:134) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
	at net.minecraft.server.v1_7_R1.MinecraftServer.u(MinecraftServer.java:655) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
	at net.minecraft.server.v1_7_R1.DedicatedServer.u(DedicatedServer.java:250) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
	at net.minecraft.server.v1_7_R1.MinecraftServer.t(MinecraftServer.java:545) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
	at net.minecraft.server.v1_7_R1.MinecraftServer.run(MinecraftServer.java:457) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
	at net.minecraft.server.v1_7_R1.ThreadServerApplication.run(SourceFile:617) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
Caused by: java.lang.IllegalArgumentException: Plugin already initialized!
	at org.bukkit.plugin.java.PluginClassLoader.initialize(PluginClassLoader.java:98) ~[craftbukkit.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
	at org.bukkit.plugin.java.JavaPlugin.<init>(JavaPlugin.java:59) ~[craftbukkit.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
	at package_main.main.<init>(main.java:12) ~[?:?]
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:1.7.0_45]
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) ~[?:1.7.0_45]
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) ~[?:1.7.0_45]
	at java.lang.reflect.Constructor.newInstance(Unknown Source) ~[?:1.7.0_45]
	at java.lang.Class.newInstance(Unknown Source) ~[?:1.7.0_45]
	at org.bukkit.plugin.java.PluginClassLoader.<init>(PluginClassLoader.java:52) ~[craftbukkit.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
	at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:133) ~[craftbukkit.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
	... 19 more
Caused by: java.lang.IllegalStateException: Initial initialization
	at org.bukkit.plugin.java.PluginClassLoader.initialize(PluginClassLoader.java:101) ~[craftbukkit.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
	at org.bukkit.plugin.java.JavaPlugin.<init>(JavaPlugin.java:59) ~[craftbukkit.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
	at package_main.main.<init>(main.java:12) ~[?:?]
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:1.7.0_45]
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) ~[?:1.7.0_45]
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) ~[?:1.7.0_45]
	at java.lang.reflect.Constructor.newInstance(Unknown Source) ~[?:1.7.0_45]
	at java.lang.Class.newInstance(Unknown Source) ~[?:1.7.0_45]
	at org.bukkit.plugin.java.PluginClassLoader.<init>(PluginClassLoader.java:52) ~[craftbukkit.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
	at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:133) ~[craftbukkit.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
	... 19 more
Woran könnte das liegen?
03/02/2014 21:00 lordsill#2
Da steht zumindest, dass das Plugin bereits geladen wurde, als es versucht wird, erneut zu laden.

Hast du vllt im Code sowas wie?

XXX xxx = new XXX();

Wobei XXX der name deiner Main Class ist (die du auch in der plugin.yml angegeben hast)
03/02/2014 21:03 Mansuro#3
Quote:
Originally Posted by LordSill View Post
Da steht zumindest, dass das Plugin bereits geladen wurde, als es versucht wird, erneut zu laden.

Hast du vllt im Code sowas wie?

XXX xxx = new XXX();

Wobei XXX der name deiner Main Class ist (die du auch in der plugin.yml angegeben hast)
Die Klassen und Packets haben die gleichen Namen und auch eine ArrayList. Ich versuche mal alles umzubenennen.

EDIT: Hat geklappt, man darf keine gleichen Bezeichnungen verwenden.
03/03/2014 07:59 ComputerBaer#4
Quote:
Originally Posted by SmokinDeath View Post
EDIT: Hat geklappt, man darf keine gleichen Bezeichnungen verwenden.
Das sollte eigentlich jedem Programmierer klar sein, dass man nicht zweimal die selbe Klasse im selben Package/Namespace anlegen darf.
Der Name einer Variable in der Klasse ist egal, der darf in unterscheidlichen Klassen auch gleich sein.

Da das Problem gelöst ist mache ich hier mal zu.