IntelliJ: Error: Could not find or load main class
IntelliJ: Error: Could not find or load main class
我想我正在尝试通过任何方式解决此问题,例如:CLASSPATH 错误、删除缓存文件、重新启动...等...
但是一个有趣的问题:当我尝试添加库的新 Java(例如 spigot-1.17.1.jar)和编辑模块依赖关系(范围部分)正常提供(Maven:org.spigotmc:spigot-api:1.17.1-R0.1-SNAPSHOT)->编译
然后这个问题得到了修复,但我不知道为什么这对我有用
解释:
首先,当我点击(应用程序菜单)并按下 运行 按钮时,我收到了这条信息:
Error: Could not find or load main class me.kennytool.betaplugin.BetaPluginHandler.
Caused by: 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项目中不会出现此问题)
从您的屏幕截图中,所有依赖项都标记为 scope
已提供,这意味着它们应该由外部提供,并且在类路径中不可用。请提供您的 pom.xml 的内容以进行验证,但我怀疑您会在您的依赖项中找到一行,内容类似于 <scope>provided</scope>
删除它应该可以解决问题。您可以在此处阅读有关 Maven 依赖范围的更多信息:https://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html#dependency-scope
我想我正在尝试通过任何方式解决此问题,例如:CLASSPATH 错误、删除缓存文件、重新启动...等...
但是一个有趣的问题:当我尝试添加库的新 Java(例如 spigot-1.17.1.jar)和编辑模块依赖关系(范围部分)正常提供(Maven:org.spigotmc:spigot-api:1.17.1-R0.1-SNAPSHOT)->编译
然后这个问题得到了修复,但我不知道为什么这对我有用
解释:
首先,当我点击(应用程序菜单)并按下 运行 按钮时,我收到了这条信息:
Error: Could not find or load main class me.kennytool.betaplugin.BetaPluginHandler.
Caused by: 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项目中不会出现此问题)
从您的屏幕截图中,所有依赖项都标记为 scope
已提供,这意味着它们应该由外部提供,并且在类路径中不可用。请提供您的 pom.xml 的内容以进行验证,但我怀疑您会在您的依赖项中找到一行,内容类似于 <scope>provided</scope>
删除它应该可以解决问题。您可以在此处阅读有关 Maven 依赖范围的更多信息:https://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html#dependency-scope