このslick2dの例(最初の例)をコンパイルしようとしていますが、動作させることができません。コードは次のとおりです。
import org.newdawn.slick.AppGameContainer;
import org.newdawn.slick.BasicGame;
import org.newdawn.slick.GameContainer;
import org.newdawn.slick.Graphics;
import org.newdawn.slick.SlickException;
/**
* @author panos
*/
public class WizardGame extends BasicGame
{
public WizardGame()
{
super("Wizard game");
}
public static void main(String[] arguments)
{
try
{
AppGameContainer app = new AppGameContainer(new WizardGame());
app.setDisplayMode(500, 400, false);
app.start();
}
catch (SlickException e)
{
e.printStackTrace();
}
}
@Override
public void init(GameContainer container) throws SlickException
{
}
@Override
public void update(GameContainer container, int delta) throws SlickException
{
}
public void render(GameContainer container, Graphics g) throws SlickException
{
}
}
指示に従って、lwjgl.jar、slick.jar、およびibxm.jarをディレクトリに配置しました。それから私は試しました:
javac-classpath。; フルパス\slick.jar.; フルパス\lwjgl.jar; フルパス\ibxm.jar
それから
java WizardGame
しかし、jarクラスが定義されていないというエラーが発生します。これは、クラスパスを設定しているときに何かが間違っている必要があることを意味します。何が間違っているのかわかりませんが。
私も試しました
javac-classpath。;。\slick.jar。;。\lwjgl.jar;。\ibxm.jar
いずれにせよ、jvmは、ソースコードと同じディレクトリにある場合、.jarファイル自体を検出するべきではありませんか?私の場合、WizardGame.javaと同じディレクトリに3つのjarを設定しました。-classpath引数なしでコンパイルしようとすると、機能しません。
編集:指示どおりに実行しましたが、「java.library.pathにlwjglがありません」と表示されます。
私はwinrarでlwjgl.jarを調べたところ、meta-infとorgの2つのフォルダーが含まれていることがわかりました。次に、org内にlwjglがあります。そんなはずなの?もしそうなら、私は何が悪いのかわからないからです。
編集2:あなたが言ったことでマニフェストを作成し、次に使用しました:
jar cfm test.jarmanifest.txt
これによりjarファイルが作成され、次に使用しました
java -jar test.jar
次に、WizardGameクラスの定義が見つからなかったと表示されました。