0

抱歉标题不好,但基本上我需要做的是从另一个 jar 中以 applet 的形式启动一个 jar。同样对于那些熟悉 Minecraft 的人,我正在制作一个自定义的 Minecraft 启动器。(源码中的stub是AppleStub的子类,有一些自定义参数等)

applet.setStub(stub);

this.add(applet);

validate();
this.setVisible(true);

applet.init();
applet.setSize(getWidth(), getHeight());

applet.start();

我当前的代码是否有效,唯一的问题是我得到了这个异常:

Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: 
    org/lwjgl/LWJGLException

发生这种情况是因为我启动的 jar 依赖于 LWJGL,它不起作用。我已经这样做了:

System.setProperty("org.lwjgl.librarypath", natives.getAbsolutePath());
System.setProperty("net.java.games.input.librarypath", natives.getAbsolutePath());

哪个应该修复错误,但似乎没有(natives 只是 natives 文件夹的文件实例)。

原版的 Minecraft Launcher 几乎完全相同并且运行良好,但事实并非如此。有谁知道我做错了什么?

4

1 回答 1

1

看起来包含该org.lwjgl库的 JAR 不是启动器类路径的一部分。您可能需要在org.lwjgl启动启动器时指定 JAR 的位置。就像是:

java -classpath "path/to/lwjgl.jar" com.foo.MyLauncher
于 2012-06-08T18:51:37.583 回答