1. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
    Скрыть объявление
Скрыть объявление
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!

Помогите java.io.FileNotFoundException: JAR entry

Тема в разделе "Разработка плагинов для новичков", создана пользователем aloyen, 17 дек 2022.

Метки:
Статус темы:
Закрыта.
  1. Автор темы
    aloyen

    aloyen Активный участник Пользователь

    Баллы:
    66
    Имя в Minecraft:
    aloyen
    Всем привет.

    Я решил написать свой плагин для Spigot 1.12.2. Создал класс ru.aloyen.hwidbans.main.Main и прописал его в plugin.yml.
    Содержание этого класса:
    Код:
    package ru.aloyen.hwidbans.main;
    
    import org.bukkit.plugin.java.JavaPlugin;
    
    public class Main extends JavaPlugin {
        @Override
        public void onEnable() {
            this.getLogger().info("Starting a plugin...");
        }
    }

    В plugin.yml
    Код:
    main: ru.aloyen.hwidbans.main.Main
    name: "HwidBans"
    description: "Plugin for bans while HWID. Required MySQL custom-launcher database."
    website: "data-mc.ru"
    prefix: HB
    version: 1.0
    load: POSTWORLD
    author: aloyen
    libraries:
       - com.mysql:mysql:8.0.31
    

    И при загрузке плагина мне кидает ошибку:
    Код:
    [16:00:57] [Server thread/WARN] []: org.bukkit.plugin.InvalidPluginException: Cannot find main class `ru.aloyen.hwidbans.main.Main'
    [16:00:57] [Server thread/WARN] []:     at org.bukkit.plugin.java.PluginClassLoader.<init>(PluginClassLoader.java:86)
    [16:00:57] [Server thread/WARN] []:     at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:127)
    [16:00:57] [Server thread/WARN] []:     at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager.java:330)
    [16:00:57] [Server thread/WARN] []:     at com.rylinaux.plugman.util.PluginUtil.load(PluginUtil.java:299)
    [16:00:57] [Server thread/WARN] []:     at com.rylinaux.plugman.command.LoadCommand.execute(LoadCommand.java:120)
    [16:00:57] [Server thread/WARN] []:     at com.rylinaux.plugman.PlugManCommandHandler.onCommand(PlugManCommandHandler.java:95)
    [16:00:57] [Server thread/WARN] []:     at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44)
    [16:00:57] [Server thread/WARN] []:     at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:153)
    [16:00:57] [Server thread/WARN] []:     at org.bukkit.craftbukkit.v1_12_R1.CraftServer.dispatchCommand(CraftServer.java:689)
    [16:00:57] [Server thread/WARN] []:     at org.bukkit.craftbukkit.v1_12_R1.CraftServer.dispatchServerCommand(CraftServer.java:674)
    [16:00:57] [Server thread/WARN] []:     at net.minecraft.server.dedicated.DedicatedServer.func_71333_ah(DedicatedServer.java:504)
    [16:00:57] [Server thread/WARN] []:     at net.minecraft.server.dedicated.DedicatedServer.func_71190_q(DedicatedServer.java:462)
    [16:00:57] [Server thread/WARN] []:     at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:801)
    [16:00:57] [Server thread/WARN] []:     at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:673)
    [16:00:57] [Server thread/WARN] []:     at java.lang.Thread.run(Thread.java:748)
    [16:00:57] [Server thread/WARN] []: Caused by: java.lang.ClassNotFoundException: Failed to remap class ru.aloyen.hwidbans.main.Main
    [16:00:57] [Server thread/WARN] []:     at org.bukkit.plugin.java.PluginClassLoader.remappedFindClass(PluginClassLoader.java:216)
    [16:00:57] [Server thread/WARN] []:     at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:141)
    [16:00:57] [Server thread/WARN] []:     at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:115)
    [16:00:57] [Server thread/WARN] []:     at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
    [16:00:57] [Server thread/WARN] []:     at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
    [16:00:57] [Server thread/WARN] []:     at java.lang.Class.forName0(Native Method)
    [16:00:57] [Server thread/WARN] []:     at java.lang.Class.forName(Class.java:348)
    [16:00:57] [Server thread/WARN] []:     at org.bukkit.plugin.java.PluginClassLoader.<init>(PluginClassLoader.java:84)
    [16:00:57] [Server thread/WARN] []:     ... 14 more
    [16:00:57] [Server thread/WARN] []: Caused by: java.io.FileNotFoundException: JAR entry ru/aloyen/hwidbans/main/Main.class not found in /home/container/plugins/hwidban.jar
    [16:00:57] [Server thread/WARN] []:     at sun.net.www.protocol.jar.JarURLConnection.connect(JarURLConnection.java:143)
    [16:00:57] [Server thread/WARN] []:     at sun.net.www.protocol.jar.JarURLConnection.getInputStream(JarURLConnection.java:172)
    [16:00:57] [Server thread/WARN] []:     at java.net.URL.openStream(URL.java:1092)
    [16:00:57] [Server thread/WARN] []:     at org.bukkit.plugin.java.PluginClassLoader.remappedFindClass(PluginClassLoader.java:194)
    [16:00:57] [Server thread/WARN] []:     ... 21 more

    Как это исправить?
     
  2. MurlikMurlik

    MurlikMurlik Активный участник Пользователь

    Баллы:
    96
    Как именно компилируешь проект? В jar файле действительно есть этот класс по этому пути?
     
  3. Автор темы
    aloyen

    aloyen Активный участник Пользователь

    Баллы:
    66
    Имя в Minecraft:
    aloyen
    Компилирую в Eclipse. Нажимаю ПКМ по проекту и выбираю пункт Export.
    В jar'нике есть путь с классом.
     
  4. Dymeth

    Dymeth Активный участник Пользователь

    Баллы:
    98
    Имя в Minecraft:
    Dymeth
    Вместо использования плагмена попробуй полностью перезапустить сервер.

    Также убедись, что в проекте используешь ту же версию JDK, что установлена на сервере. Это касается и самого проекта, и сборки/компиляции.
    Если сервер запущен с 8 джавой - используй 8 JDK. Если с 11 джавой, то 11 и так далее.

    Помимо этого, стоит проверить, что на сервере нет других копий твоего плагина с таким же пакетом (ru.aloyen.hwidbans.main).
    И что нет плагинов, с таким же названием (HwidBans).

    Если всё это не поможет - кинь в тему скомпилированный джарник
     
    Последнее редактирование: 18 дек 2022
  5. Автор темы
    aloyen

    aloyen Активный участник Пользователь

    Баллы:
    66
    Имя в Minecraft:
    aloyen
    PlugMan всё портил. Спасибо.
     
Статус темы:
Закрыта.

Поделиться этой страницей