Не могу найти основной класс в plugin.yml - PullRequest
0 голосов
/ 15 июня 2019
[04:48:05 ERROR]: Could not load 'plugins\HelloWorld.jar' in folder 'plugins'
org.bukkit.plugin.InvalidPluginException: Cannot find main class `me.spoonle.helloworld.Main'
        at org.bukkit.plugin.java.PluginClassLoader.<init>(PluginClassLoader.java:66) ~[spigot.jar:git-Spigot-c3c767f-33d5de3]
        at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:131) ~[spigot.jar:git-Spigot-c3c767f-33d5de3]
        at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager.java:329) ~[spigot.jar:git-Spigot-c3c767f-33d5de3]
        at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager.java:251) [spigot.jar:git-Spigot-c3c767f-33d5de3]
        at org.bukkit.craftbukkit.v1_8_R1.CraftServer.loadPlugins(CraftServer.java:291) [spigot.jar:git-Spigot-c3c767f-33d5de3]
        at net.minecraft.server.v1_8_R1.DedicatedServer.init(DedicatedServer.java:152) [spigot.jar:git-Spigot-c3c767f-33d5de3]
        at net.minecraft.server.v1_8_R1.MinecraftServer.run(MinecraftServer.java:505) [spigot.jar:git-Spigot-c3c767f-33d5de3]
        at java.lang.Thread.run(Unknown Source) [?:1.8.0_211]
Caused by: java.lang.ClassNotFoundException: me.spoonle.helloworld.Main
        at java.net.URLClassLoader.findClass(Unknown Source) ~[?:1.8.0_211]
        at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:101) ~[spigot.jar:git-Spigot-c3c767f-33d5de3]
        at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:86) ~[spigot.jar:git-Spigot-c3c767f-33d5de3]
        at java.lang.ClassLoader.loadClass(Unknown Source) ~[?:1.8.0_211]
        at java.lang.ClassLoader.loadClass(Unknown Source) ~[?:1.8.0_211]
        at java.lang.Class.forName0(Native Method) ~[?:1.8.0_211]
        at java.lang.Class.forName(Unknown Source) ~[?:1.8.0_211]
        at org.bukkit.plugin.java.PluginClassLoader.<init>(PluginClassLoader.java:64) ~[spigot.jar:git-Spigot-c3c767f-33d5de3]
        ... 7 more

Я продолжаю получать эту ошибку при загрузке моего плагина на мой тестовый сервер.(Я проверил другие сообщения, и они мне не помогли)

файл plugin.yml:

name: HelloWorld
version: 1.0
author: Spoonle
main: me.spoonle.helloworld.Main

commands:
  hello:
    alias: [hi]

мне нужно что-то добавить?Это пробелы, а не вкладки.Я видел, что использование TAB может сломать файл yml, поэтому вместо этого я использовал пробелы.

Код:

package me.spoonle.helloworld.commands;

import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;

import me.spoonle.helloworld.Main;

public class HelloCommand implements CommandExecutor {

    private Main plugin;

    public HelloCommand(Main plugin) {
        this.plugin = plugin;
        plugin.getCommand("hello").setExecutor(this);
    }

    @Override
    public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
        if (!(sender instanceof Player)) {
            sender.sendMessage("Only players may execute this command!");
            return true;
        }
        Player p = (Player) sender;

        if (p.hasPermission("hello.use")) {
            p.sendMessage("Hello!");
            return true;
        } else {
            p.sendMessage("You do not have permissions to use this command!");
        }

        return false;
    }

}

Это то, что я хочу, чтобы плагин делал.Я не знаю, помогает ли это, но здесь, если вам это нужно.

Почему я не могу загрузить свой плагин ??

Редактировать: я исправил недопустимый plugin.yml.Сейчас говорят, что не могут найти основной класс.Как указано выше в коде plugin.yml, его me.spoonle.helloworld.Main и там, где находится мой основной файл.Как мне исправить это сейчас ??

...