我收到 'NoClassDefFoundError'

I am getting a 'NoClassDefFoundError'

我刚开始学习 LWJGL3,但由于某些原因,导入不起作用。我尝试了两种安装 LWJGL3 的方法,第一次我按照视频教程进行安装,第二次我按照官方安装指南安装它 (Guide)。 LWJGL3 附带的所有 JAR 都包含在 JRE 系统库中。我一尝试使用 glfw 就出现错误。

Image of my workspace

代码:

import static org.lwjgl.glfw.GLFW.*;
import org.lwjgl.glfw.GLFWVidMode;

public class Main {
    public static void main(String[] args) {
        if (!glfwInit()) {
            throw new IllegalStateException("Failed to initialise GLFW");
        }
        
        glfwWindowHint(GLFW_VISIBLE, GLFW_FALSE);
        long window = glfwCreateWindow(640, 480, "LWJGL Porgramme", glfwGetPrimaryMonitor(), 0);
        if(window == 0) {
            throw new IllegalStateException("Failed to create window");
        }
        
        GLFWVidMode videoMode = glfwGetVideoMode(glfwGetPrimaryMonitor());
        glfwSetWindowPos(window, (videoMode.width() - 640) / 2, (videoMode.height() - 480)/ 2);
        
        glfwShowWindow(window);
        
        while (!glfwWindowShouldClose(window)) {
            glfwPollEvents();
        }
    }
}

错误:


    Exception in thread "main" java.lang.NoClassDefFoundError: org/lwjgl/glfw/GLFW
        at Main.main(Main.java:6)
    Caused by: java.lang.ClassNotFoundException: org.lwjgl.glfw.GLFW
        at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:602)
        at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
        at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
        ... 1 more

编辑:ClassLoader 无法加载 class,但我不知道为什么它无法加载 class,因为它是在“外部 JAR”中添加的。 Image

这花了太长时间,但我成功了。我用 Gradle 安装了 LWJGL3,创建了一个 Gradle 项目并将 Java 源代码复制到 Gradle 项目。