You are not logged in.

  • Login
Bitte besucht unser neues Forum unter https://forum.nitrado.net | Please visit our new Forum at https://forum.nitrado.net

Dear visitor, welcome to Nitrado.net Prepaid Gameserver Community-Support - Archiv. If this is your first visit here, please read the Help. It explains in detail how this page works. To use all features of this page, you should consider registering. Please use the registration form, to register here or read more information about the registration process. If you are already registered, please login here.

xXTheGamerXxx

User / Kunde

  • "xXTheGamerXxx" started this thread

Posts: 24

Thanks: 1

  • Send private message

1

Sunday, June 10th 2018, 6:53pm

Initialisieren einer anderen Klasse funktioniert nicht

Ich weiss nicht, ob es wirklich "initialisieren" heisst...
Ich möchte mit der main-klasse(A) auf die klasse B zugreifen, und umgekehrt.

Mein Problem: Um auf nicht-statische Objekte aus einer anderen Klasse zuzugreifen, habe ich diese "initialisiert"

das sieht so aus:

Source code

1
NameDerKlasseB CustomName = new NameDerKlasseB();

Source code

1
main Main = new main();

Wenn ich den Server nun starte, wird das Plugin wieder deaktiviert und es erscheint folgende Fehlermeldung:

Spoiler Spoiler

[18:48:22 ERROR]: Could not load 'plugins\AdminPanel.jar' in folder 'plugins'
org.bukkit.plugin.InvalidPluginException: java.lang.IllegalArgumentException: Plugin already initialized!
at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:135) ~[spigot.jar:git-Spigot-21fe707-e1ebe52]
at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager.java:329) ~[spigot.jar:git-Spigot-21fe707-e1ebe52]
at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager.java:251) [spigot.jar:git-Spigot-21fe707-e1ebe52]
at org.bukkit.craftbukkit.v1_8_R3.CraftServer.loadPlugins(CraftServer.java:292) [spigot.jar:git-Spigot-21fe707-e1ebe52]
at org.bukkit.craftbukkit.v1_8_R3.CraftServer.reload(CraftServer.java:739) [spigot.jar:git-Spigot-21fe707-e1ebe52]
at org.bukkit.Bukkit.reload(Bukkit.java:535) [spigot.jar:git-Spigot-21fe707-e1ebe52]
at org.bukkit.command.defaults.ReloadCommand.execute(ReloadCommand.java:25) [spigot.jar:git-Spigot-21fe707-e1ebe52]
at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:141) [spigot.jar:git-Spigot-21fe707-e1ebe52]
at org.bukkit.craftbukkit.v1_8_R3.CraftServer.dispatchCommand(CraftServer.java:641) [spigot.jar:git-Spigot-21fe707-e1ebe52]
at org.bukkit.craftbukkit.v1_8_R3.CraftServer.dispatchServerCommand(CraftServer.java:627) [spigot.jar:git-Spigot-21fe707-e1ebe52]
at net.minecraft.server.v1_8_R3.DedicatedServer.aO(DedicatedServer.java:412) [spigot.jar:git-Spigot-21fe707-e1ebe52]
at net.minecraft.server.v1_8_R3.DedicatedServer.B(DedicatedServer.java:375) [spigot.jar:git-Spigot-21fe707-e1ebe52]
at net.minecraft.server.v1_8_R3.MinecraftServer.A(MinecraftServer.java:654) [spigot.jar:git-Spigot-21fe707-e1ebe52]
at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:557) [spigot.jar:git-Spigot-21fe707-e1ebe52]
at java.lang.Thread.run(Unknown Source) [?:1.8.0_171]
Caused by: java.lang.IllegalArgumentException: Plugin already initialized!
at org.bukkit.plugin.java.PluginClassLoader.initialize(PluginClassLoader.java:122) ~[spigot.jar:git-Spigot-21fe707-e1ebe52]
at org.bukkit.plugin.java.JavaPlugin.<init>(JavaPlugin.java:66) ~[spigot.jar:git-Spigot-21fe707-e1ebe52]
at NAME_DES_PACKETES.main.<init>(main.java:12) ~[?:?]
at NAME_DES_PACKETES.NAME_DER_KLASSE_B.<init>(NAME_DER_KLASSE_B.java:11) ~[?:?]
at NAME_DES_PACKETES.main.<init>(main.java:14) ~[?:?]
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:1.8.0_171]
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) ~[?:1.8.0_171]
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) ~[?:1.8.0_171]
at java.lang.reflect.Constructor.newInstance(Unknown Source) ~[?:1.8.0_171]
at java.lang.Class.newInstance(Unknown Source) ~[?:1.8.0_171]
at org.bukkit.plugin.java.PluginClassLoader.<init>(PluginClassLoader.java:76) ~[spigot.jar:git-Spigot-21fe707-e1ebe52]
at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:131) ~[spigot.jar:git-Spigot-21fe707-e1ebe52]
... 14 more
Caused by: java.lang.IllegalStateException: Initial initialization
at org.bukkit.plugin.java.PluginClassLoader.initialize(PluginClassLoader.java:125) ~[spigot.jar:git-Spigot-21fe707-e1ebe52]
at org.bukkit.plugin.java.JavaPlugin.<init>(JavaPlugin.java:66) ~[spigot.jar:git-Spigot-21fe707-e1ebe52]
at NAME_DES_PACKETES.main.<init>(main.java:12) ~[?:?]
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:1.8.0_171]
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) ~[?:1.8.0_171]
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) ~[?:1.8.0_171]
at java.lang.reflect.Constructor.newInstance(Unknown Source) ~[?:1.8.0_171]
at java.lang.Class.newInstance(Unknown Source) ~[?:1.8.0_171]
at org.bukkit.plugin.java.PluginClassLoader.<init>(PluginClassLoader.java:76) ~[spigot.jar:git-Spigot-21fe707-e1ebe52]
at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:131) ~[spigot.jar:git-Spigot-21fe707-e1ebe52]
... 14 more
[18:48:22 INFO]: Server permissions file permissions.yml is empty, ignoring it

[18:48:22 INFO]: CONSOLE: Reload complete.

Die Zeile 12 ist btw. nur die Klasse

Source code

1
public class main extends JavaPlugin implements Listener{

xtrumb

User / Kunde

  • "xtrumb" is male

Posts: 2,295

Location: hier

Occupation: Fachinformatiker für Systemintegration

Thanks: 16

  • Send private message

2

Monday, June 11th 2018, 8:39am

Du darfst nicht die Main zweimal starten, das wäre sinnfrei.

Wenn du die Variabel speichern möchtest (also ganz oben in der Klasse), dann setze sie grundsätzlich erstmal null, da das sonst gar nicht funktionieren wird.
Im Constructor kannst du dann später die variabel setzen. (oder in dem OnEnable)

Java source code

1
2
3
4
5
Main main = null;

public Test (Main clazz){
   this.main = clazz
}


In der Main Klasse musst du dann die Klasse Test mit new Test(this) erstellen. Dies kannst du dann auch in der Main Klasse als Variabel setzen.
Mit freundlichen Grüßen
TrueMB

Dienstleistungs Service
Unser Csgo Team

Bitte besucht unser neues Forum unter https://forum.nitrado.net| Please visit our new Forum at https://forum.nitrado.net