对这个糟糕的标题感到抱歉,但本质上我需要做的是从另一个 jar 以小程序的形式启动一个 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 文件夹的文件实例)。
原版《我的世界》启动器的功能几乎完全相同并且工作正常,而这个则不然。有谁知道我做错了什么?
最佳答案
看起来包含 org.lwjgl 库的 JAR 不是启动器类路径的一部分。当您启动启动器时,您可能需要指定 org.lwjgl
JAR 的位置。像这样的东西:
java -classpath "path/to/lwjgl.jar" com.foo.MyLauncher
关于java - 如何初始化小程序并将其他 jar 添加到类路径? (我的世界自定义启动器),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10953487/