Я пытаюсь скомпилировать этот пример 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, если они находятся в том же каталоге, что и исходный код? в моем случае я установил 3 банки в том же каталоге, что и WizardGame.java. если я попробую компилировать без аргументов -classpath, это не сработает.
редактирование:
я сделал так, как было сказано, но теперь он говорит мне: «нет lwjgl в java.library.path»
Я проверил свой lwjgl.jar с помощью winrar и увидел, что он содержит две папки: meta-inf и org, а затем внутри org есть lwjgl. это должно быть так? потому что, если это так, я не знаю, что не так.
изменить 2:
создал манифест с тем, что вы сказали, затем использовал:
jar cfm test.jar manifest.txt
это создало файл jar, затем я использовал
java -jar test.jar
и затем мне сказали, что не нашел определения для класса WizardGame.