【发布时间】:2019-08-12 16:54:16
【问题描述】:
我正在尝试用 Java 制作一个带有 OpenGL(使用 LWJGL 2)的窗口。当我尝试运行时,Eclipse 'BuiltInClassLoader' 出现 ClassNotFoundException 错误。
我尝试过使用不同版本的 LWJGL,更改了代码并将所有内容放在一个类中。
`` DisplayManager.java(摘录)
private static final int WIDTH = 1280;
private static final int HEIGHT = 720;
private static final int FPS_CAP = 60;
private static final String TITLE = "Our First Display";
public static void createDisplay() {
ContextAttribs attribs = new ContextAttribs(3, 2).withForwardCompatible(true).withProfileCore(true);
try {
Display.setDisplayMode(new DisplayMode(WIDTH, HEIGHT));
Display.create(new PixelFormat(), attribs);
Display.setTitle(TITLE);
} catch (LWJGLException e) {
e.printStackTrace();
}
GL11.glViewport(0, 0, WIDTH, HEIGHT);
}
public static void updateDisplay() {
Display.sync(FPS_CAP);
Display.update();
}
public static void closeDisplay() {
Display.destroy();
}
MainGameLoop.java(摘录)
public static void main(String[] args) {
DisplayManager.createDisplay();
while (!Display.isCloseRequested()) {
DisplayManager.updateDisplay();
}
DisplayManager.closeDisplay();
}
我希望输出显示一个窗口,这是真正的输出:Exception in thread "main" java.lang.NoClassDefFoundError: org/lwjgl/glfw/GLFW
at Main.main(Main.java:8)
Caused by: java.lang.ClassNotFoundException: org.lwjgl.glfw.GLFW
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:583)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
... 1 more
【问题讨论】:
-
您是否按照此页面上的 Eclipse 项目设置说明进行操作? github.com/LWJGL/lwjgl3-wiki/wiki/1.2.-Install
-
我遇到了同样的问题。为了修复它,我从构建路径中删除了 LWJGL3 并重新添加了它。通用答案,我知道,但它对我有用。