0

我想我试图通过任何方式解决这个问题,例如:CLASSPATH 错误,删除缓存文件,重新启动..等等......

但是一个有趣的问题:当我尝试添加库的新 Java(例如 spigot-1.17.1.jar)和编辑模块依赖项(范围部分)正常提供时,我得到了修复(Maven:org.spigotmc:spigot-api:1.17 .1-R0.1-SNAPSHOT ) -> 编译

在此处输入图像描述

然后这得到了修复,但我不知道为什么这对我有用

解释:

首先,当我单击(应用程序菜单)并按运行按钮时,我得到了这个消息:

错误:无法找到或加载主类 me.kennytool.betaplugin.BetaPluginHandler。

引起:java.lang.NoClassDefFoundError: org/bukkit/event/Listener

在此处输入图像描述

package me.kennytool.betaplugin;

import org.bukkit.ChatColor;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerJoinEvent;

public class BetaPluginHandler implements Listener {
    public static void main(String[] args) {

    }

        @EventHandler
        public void onJoin(PlayerJoinEvent e){

            Player player = e.getPlayer();

            if (player.hasPlayedBefore()){
                e.setJoinMessage(ChatColor.AQUA + "[REJOIN]" + ": " + ChatColor.BOLD + player.getDisplayName() + ChatColor.YELLOW + " WELCOME BACK");
                // Have experienced logging log

            }else{
                e.setJoinMessage(ChatColor.YELLOW + "[FIRST]" + ": " + ChatColor.BOLD + player.getDisplayName() + ChatColor.BLUE + " WELCOME FIRST!");
                // First logging on!

            }

        }
    }

我不知道为什么这个错误显示给我....太多的解决方案可以解决这个问题,但这对我不起作用

注意:我使用 Java 和 Minecraft 开发工具包(Spigot)

(这个问题不会出现在普通的 Java 项目中)

4

1 回答 1

1

从您的屏幕截图中,所有依赖项都标记为已scope提供,这意味着它们应在外部提供,并且在类路径中不可用。请提供您的 pom.xml 的内容以进行验证,但我怀疑您会在您的依赖项中找到一行内容,如<scope>provided</scope>删除此内容应该可以解决问题。您可以在此处阅读有关 maven 依赖范围的更多信息:https ://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html#dependency-scope

于 2021-08-05T03:10:45.190 回答