Вопрос Ошибка java.lang.NoClassDefFoundError: com/github/stefvanschie/inventoryframework/pane/Pane

manul694

Premium
Сообщения
1 161
Решения
34
Использую InventoryFramework. Варнингов по этому поводу никаких нет
Часть кода:
Java:
private static roles instance;
boolean initialized = false;
ChestGui gui;
       public void init() {
        gui = new ChestGui(5, "Роли");
        OutlinePane pane = new OutlinePane(0, 0, 9, 5);
        ItemStack item = new ItemStack(Material.ICE);
        //create an item which will send a message when clicked
        GuiItem guiItem = new GuiItem(item, event -> event.getWhoClicked().sendMessage("You clicked on ice!"));
        //add the item to the pane
        pane.addItem(guiItem);
        //add the pane to the gui
        gui.addPane(pane);
        initialized = true;
    }

Ошибка:
Код:
java.lang.NoClassDefFoundError: com/github/stefvanschie/inventoryframework/pane/Pane
        at [Название проекта].inventorymanager.init(inventorymanager.java:30) ~[ManulBuilds.jar:?]
        at [Название проекта].ManulBuilds.onEnable(ManulBuilds.java:61) ~[ManulBuilds.jar:?]
        at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:264) ~[purpur-api-1.18.2-R0.1-SNAPSHOT.jar:?]
        at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:370) ~[purpur-api-1.18.2-R0.1-SNAPSHOT.jar:?]
        at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:541) ~[purpur-api-1.18.2-R0.1-SNAPSHOT.jar:?]
        at org.bukkit.craftbukkit.v1_18_R2.CraftServer.enablePlugin(CraftServer.java:560) ~[purpur-1.18.2.jar:git-Purpur-1623]
        at org.bukkit.craftbukkit.v1_18_R2.CraftServer.enablePlugins(CraftServer.java:474) ~[purpur-1.18.2.jar:git-Purpur-1623]
        at net.minecraft.server.MinecraftServer.loadWorld0(MinecraftServer.java:669) ~[purpur-1.18.2.jar:git-Purpur-1623]
        at net.minecraft.server.MinecraftServer.loadLevel(MinecraftServer.java:436) ~[purpur-1.18.2.jar:git-Purpur-1623]
        at net.minecraft.server.dedicated.DedicatedServer.initServer(DedicatedServer.java:352) ~[purpur-1.18.2.jar:git-Purpur-1623]
        at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1179) ~[purpur-1.18.2.jar:git-Purpur-1623]
        at net.minecraft.server.MinecraftServer.lambda$spin$1(MinecraftServer.java:320) ~[purpur-1.18.2.jar:git-Purpur-1623]
        at java.lang.Thread.run(Thread.java:833) ~[?:?]
Caused by: java.lang.ClassNotFoundException: com.github.stefvanschie.inventoryframework.pane.Pane
        at org.bukkit.plugin.java.PluginClassLoader.loadClass0(PluginClassLoader.java:153) ~[purpur-api-1.18.2-R0.1-SNAPSHOT.jar:?]
        at org.bukkit.plugin.java.PluginClassLoader.loadClass(PluginClassLoader.java:105) ~[purpur-api-1.18.2-R0.1-SNAPSHOT.jar:?]
        at java.lang.ClassLoader.loadClass(ClassLoader.java:520) ~[?:?]
        ... 13 more
 
Последнее редактирование:
ты не зашейдил эту библиотеку в свой жарник
Код:
<plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-shade-plugin</artifactId>
                <version>3.2.4</version>
                <configuration>
                    <createDependencyReducedPom>false</createDependencyReducedPom>
                    <dependencyReducedPomLocation>${project.build.directory}/dependency-reduced-pom.xml</dependencyReducedPomLocation>
                    <relocations>
                        <relocation>
                            <pattern>com.github.stefvanschie.inventoryframework</pattern>
                            <shadedPattern>[Название проекта].manulbuilds.inventoryframework</shadedPattern>
                        </relocation>
                    </relocations>
                </configuration>
                <executions>
                    <execution>
                        <phase>package</phase>
                        <goals>
                            <goal>shade</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>

Что я не так сделал?
 
Последнее редактирование:
Странно. Во время сборки пишется лог? типа [INFO] Including либа in the shaded jar.
Нет. Если что я юзаю IDEA, версия 2021.2.4.

Решение уже нашёл, только не знаю насколько оно правильное, но вроде работает.
Вам необходимо зарегистрироваться для просмотра изображений-вложений

File - Project Structure - Artifacts - выбираете нужную либу ПКМ - Extract Into Output Root
 
Возможностей в разы меньше, нельзя нормально делиться проектом (другой человек не сможет его собрать)

Даже если ты не собираешься работать с другими людьми, знание сборщиков типа Gradle\Maven мастхев. В будущем ты обязательно встретишь задачи, где артефакт идеи не сможет тебе помочь

Типовый ПОМ:
Этого буквально хватает, чтобы собрать плагин. Достаточно только вписать свои зависимости и имя проекта
 
Назад
Сверху Снизу