0

タイトルが悪くて申し訳ありませんが、本質的に必要なことは、別の jar からアプレットの形式で jar を起動することです。また、Minecraft に詳しい方のために、カスタム Minecraft ランチャーを作成しています。(ソース内のスタブは 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());

エラーを修正する必要がありますが、そうではないようです(ネイティブは、ネイティブフォルダーのファイルインスタンスにすぎません)。

バニラの Minecraft Launcher はこれをほぼ同じように行い、正常に動作しますが、これはそうではありません。私が間違っていることを誰かが知っていますか?

4

1 に答える 1

1

ライブラリを含むJARはorg.lwjgl、ランチャーのクラスパスの一部ではないようです。org.lwjglランチャーを起動するときに、JARの場所を指定する必要があります。何かのようなもの:

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