我正在做bungeecord中的服务器间传送插件。突然,我不知道怎么了,开始出现错误。你能告诉我,问题出在哪里吗?谢谢你的回复。
完整的Stacktrace。
org.bukkit.plugin.InvalidPluginException: java.lang.IllegalArgumentException: 插件已经初始化!在org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:139) ~[spigot-1.15.2.jar:git-Spigot-800b93f-8160e29] 在org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager. java:334) ~[spigot-1.15.2.2.jar:git-Spigot-800b93f-8160e29] at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager.java:253) [spigot-1.15.2.2.jar:git-Spigot-800b93f-8160e29] at org.bukkit.craftbukkit.v1_15_R1.C.A.A.B.C.C.C.C.C.C.C. v1_15_R1.CraftServer.loadPlugins(CraftServer.java:351) [spigot-1.15.2.jar:git-Spigot-800b93f-8160e29] at net.minecraft.server.v1_15_R1.DedicatedServer.init(DedicatedServer.java:203) [spigot-1.15.2.jar:git-Spigot-800b93f-8160e29] at net. minecraft.server.v1_15_R1.MinecraftServer.run(MinecraftServer.java:784) [spigot-1.15.2.jar:git-Spigot-800b93f-8160e29] 在java.lang.Thread.run(Thread.java:830) [?:?]原因是:java.lang.IllegalArgumentException: 插件已经初始化!在org.bukkit.plugin.java.PluginClassLoader.initialize(PluginClassLoader.java:178) ~[spigot-1.15.2.jar:git-Spigot-800b93f-8160e29] 在org. bukkit.plugin.java.JavaPlugin.(JavaPlugin.java:52) ~[spigot-1.15.2.jar:git-Spigot-800b93f-8160e29] at pl.piotrek.main.(Main.java:9) ~[? :??] 在 jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:?] 在 jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) ~[? java:45) ~[?:?] at java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:500) ~[?:?] at java.lang.reflect.ReflectAccess. newInstance(ReflectAccess.java:166) ~[?:?] at jdk.internal.reflect.ReflectionFactory.newInstance(ReflectionFactory.java:404) ~[?:?] at java.lang.Class.NewInstance(Class.java:1) ~[?:?] at java.lang.Class.NewInstance(Class.java:1) ~[?:?] at java.lang.Class.NewInstance(Class.java:1) ~[?:? newInstance(Class.java:591) ~[?:?] at org.bukkit.plugin.java.PluginClassLoader.(PluginClassLoader.java:72) ~[spigot-1.15.2.jar:git-Spigot-800b93f-8160e29] at org. bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:135) ~[spigot-1.15.2.jar:git-Spigot-800b93f-8160e29] ... 6 moreCauses by: java.lang.IllegalStateException: 在org.bukkit.plugin.java.PluginClassLoader.initialize(PluginClassLoader.java:181) ~[spigot-1.15.2.jar:git-Spigot-800b93f-8160e29]处进行初始化。 bukkit.plugin.java.JavaPlugin.(JavaPlugin.java:52) ~[spigot-1.15.2.jar:git-Spigot-800b93f-8160e29] at pl.piotrek.main.(Main.java:9) ~[? ]在 jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:?] 在 jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) ~[?:?] 在 jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl. java:45) ~[?:?] at java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:500) ~[?:?] at java.lang.reflect.ReflectAccess. newInstance(ReflectAccess.java:166) ~[?:?] at jdk.internal.reflect.ReflectionFactory.newInstance(ReflectionFactory.java:404) ~[?:?] at java.lang.Class.NewInstance(Class.java:1) ~[?:?] at java.lang.Class.NewInstance(Class.java:1) ~[?:?] at java.lang.Class.NewInstance(Class.java:1) ~[?:? newInstance(Class.java:591) ~[?:?] at org.bukkit.plugin.java.PluginClassLoader.(PluginClassLoader.java:72) ~[spigot-1.15.2.jar:git-Spigot-800b93f-8160e29] at org. bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:135) ~[spigot-1.15.2.jar:git-Spigot-800b93f-8160e29] ... 6 更多
主类。
package pl.piotrek.main;
import org.bukkit.plugin.java.JavaPlugin;
import pl.piotrek.commands.ServersCommand;
import pl.piotrek.events.ServersGuiListener;
import pl.piotrek.gui.Gui;
import pl.piotrek.message.channel.PluginMessagingListener;
import pl.piotrek.message.command.ConnectCommand;
public class Main extends JavaPlugin {
private static Main instance;
public static Main getInstance() { return instance; }
public void setInstance(Main instance) { Main.instance = instance; }
public Gui gui;
@Override
public void onEnable() {
System.out.println("Enabled TeleportationUtils v1.0.0");
setInstance(this);
registerCommands();
registerListener();
this.getServer().getMessenger().registerOutgoingPluginChannel(this, "BungeeCord");
this.getServer().getMessenger().registerIncomingPluginChannel(this, "BungeeCord", new PluginMessagingListener());
gui = new Gui();
}
public void registerCommands() {
getCommand("connect").setExecutor(new ConnectCommand());
getCommand("servers").setExecutor(new ServersCommand());
}
public void registerListener() {
this.getServer().getPluginManager().registerEvents(new ServersGuiListener(), this);
}
}
Plugin.yml:
name: TeleportationUtils
version: 1.0.0
main: pl.piotrek.main.Main
api-version: 1.15
commands:
connect:
aliases: [cnt]
description: Connect to another sevrer command
servers:
aliases: [svr]
description: Server menu command for teleport between servers
permissions:
commands:
connect:
你的堆栈跟踪显示,你的插件初始化的位置是在 pl.piotrek.main.Main.<init>(Main.java:9)
然后它又想在同一个点上被初始化。很有可能是你的插件文件夹里有两次相同的插件,可能是在不同的名称下。
看看你服务器的插件文件夹,找到重复的插件。