首页 > 解决方案 > 为什么我会收到“线程“主”java.lang.NoClassDefFoundError:org/lwjgl/LWJGLException 中的异常”错误?

问题描述

我使用的是 Java 1.8 版,我使用的是 lwjgl 2.9.3 版。我按照 YouTube 教程在 Java 中设置 OpenGl 尝试了以下代码。下面是代码,

    package renderEngin;

    import org.lwjgl.LWJGLException;
    import org.lwjgl.opengl.ContextAttribs;
    import org.lwjgl.opengl.Display;
    import org.lwjgl.opengl.DisplayMode;
    import org.lwjgl.opengl.GL11;
    import org.lwjgl.opengl.PixelFormat;

    public class DisplayManager 
    {
        private static final int WIDTH = 1366;
        private static final int HEIGHT = 768;
        private static final int FPS_MAX = 120;

        public static void createDisplay() 
        {
            ContextAttribs attribs = new ContextAttribs(3,2);
            attribs.withForwardCompatible(true);
            attribs.withProfileCore(true);
            try
            {
                Display.setDisplayMode(new DisplayMode(WIDTH,HEIGHT));
                Display.create(new PixelFormat(), attribs);
                Display.setTitle("Jigoku");
            }
            catch (LWJGLException e)
            {
                e.printStackTrace();
            }

            GL11.glViewport(0, 0, WIDTH, HEIGHT);
        }

        public static void updateDisplay() 
        {
            Display.sync(FPS_MAX);
            Display.update();
        }

        public static void closeDisplay() 
        {   
            Display.destroy();
        }
    }

和主要功能,

package enginTester;

import org.lwjgl.opengl.Display;
import renderEngin.DisplayManager;

public class MainGameLoop {

    public static void main(String[] args) 
    {
        DisplayManager.createDisplay();
        while(!Display.isCloseRequested())
        {
            DisplayManager.updateDisplay();
        }

        DisplayManager.closeDisplay();

    }

}

这个问题可能看起来很愚蠢,但我仍然是 Java 的新手,我不知道我哪里出错了。我也搜索过网络,但似乎没有一个答案有效。有人回答要更改 lwjgl 版本,所以我将其从 2.9.1 更改为 2.9.3,但它似乎不起作用。我也为项目使用 eclipse IDE。请帮我。

标签: javaeclipseclasslwjglnoclassdeffounderror

解决方案


也许这篇文章可以帮助:java.lang.NoClassDefFoundError: org/lwjgl/LWJGLException

尝试使用更新版本的 java,甚至切换到 lwjgl3(我知道我回答晚了,你可能解决了这个问题)

编辑:如果您切换到 LWJGL3,这本书可能会有所帮助:https ://lwjglgamedev.gitbooks.io/3d-game-development-with-lwjgl/content/


推荐阅读