重命名项目

时间:2017-08-06 17:01:03

标签: java oop nullpointerexception

我在IntelliJ工作,我试图重命名我的项目!这样做,并重命名一切,我相信我做的正确,我实际上无法启动我的应用程序。

错误:

org.bukkit.plugin.InvalidPluginException: java.lang.NullPointerException
    at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:133) ~[spigot-latest.jar:git-Spigot-4df3c0c-03f1e37]
    at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager.java:326) ~[spigot-latest.jar:git-Spigot-4df3c0c-03f1e37]
    at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager.java:248) [spigot-latest.jar:git-Spigot-4df3c0c-03f1e37]
    at org.bukkit.craftbukkit.v1_12_R1.CraftServer.loadPlugins(CraftServer.java:302) [spigot-latest.jar:git-Spigot-4df3c0c-03f1e37]
    at net.minecraft.server.v1_12_R1.DedicatedServer.init(DedicatedServer.java:205) [spigot-latest.jar:git-Spigot-4df3c0c-03f1e37]
    at net.minecraft.server.v1_12_R1.MinecraftServer.run(MinecraftServer.java:544) [spigot-latest.jar:git-Spigot-4df3c0c-03f1e37]
    at java.lang.Thread.run(Unknown Source) [?:1.8.0_121]
Caused by: java.lang.NullPointerException
    at me.craftblock.MochaMessages.Config.<init>(Config.java:7) ~[?:?]
    at me.craftblock.MochaMessages.MochaMessages.<init>(MochaMessages.java:18) ~[?:?]
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:1.8.0_121]
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) ~[?:1.8.0_121]
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) ~[?:1.8.0_121]
    at java.lang.reflect.Constructor.newInstance(Unknown Source) ~[?:1.8.0_121]
    at java.lang.Class.newInstance(Unknown Source) ~[?:1.8.0_121]
    at org.bukkit.plugin.java.PluginClassLoader.<init>(PluginClassLoader.java:76) ~[spigot-latest.jar:git-Spigot-4df3c0c-03f1e37]
    at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:129) ~[spigot-latest.jar:git-Spigot-4df3c0c-03f1e37]
    ... 6 more

错误指向我的Config类,但是我不确定原因:

public class Config {
    private MochaMessages instance = MochaMessages.getInstance();
    private FileConfiguration config = instance.getConfig();

    public Config() {
    }

    public String get(String node) {
        System.out.println("Fetching: " + node);
        return config.getString(node);
    }

    public void set(String node, String value) {
        config.set(node, value);
    }

    public boolean getBoolean(String node) {
        System.out.println("Fetching: " + node);
        return config.getBoolean(node);
    }

}

通过我的MochaMessages类调用哪个: 这是相关的方法:

private static MochaMessages instance;
private Config config = new Config();
public void onEnable() {
    instance = this;
    createConfig();
    te = getTokenEnchant();
    if (!config.getBoolean("database.enabled")) {
        disablePlugin("Enable MySQL!");
    } else if (config.get("mocha.currency").equalsIgnoreCase("TokenEnchant")) {
        if (te == null) {
            disablePlugin("Unable to access TokenEnchant. Disabling Plugin!");
        }
    } else {
        Bukkit.getServer().getPluginManager().registerEvents(new MochaListener(), this);
        new MochaModel().createTable();
        new CommandHandler();
    }
}

我相信这是因为实例返回null,即使它不应该。这在重命名之前完美无缺!

发生了什么事?

0 个答案:

没有答案