Exception dans le thread “main” java.lang.UnsatisfiedLinkError: pas de lwjgl dans java.library.path

Je construis l’exemple de base du jeu Slick expliqué ici: http://slick.cokeandcode.com/wiki/doku.php?id=01_-_a_basic_slick_game , et je rencontre quelques problèmes. Plus précisément, le jeu se comstack très bien, mais lorsque je tente de l’exécuter, Java se plaint:

Exception in thread "main" java.lang.UnsatisfiedLinkError: no lwjgl in java.library.path at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1856) at java.lang.Runtime.loadLibrary0(Runtime.java:845) at java.lang.System.loadLibrary(System.java:1084) at org.lwjgl.Sys$1.run(Sys.java:75) at java.security.AccessController.doPrivileged(Native Method) at org.lwjgl.Sys.doLoadLibrary(Sys.java:68) at org.lwjgl.Sys.loadLibrary(Sys.java:84) at org.lwjgl.Sys.(Sys.java:101) at org.lwjgl.opengl.Display.(Display.java:128) at org.newdawn.slick.AppGameContainer$1.run(AppGameContainer.java:39) at java.security.AccessController.doPrivileged(Native Method) at org.newdawn.slick.AppGameContainer.(AppGameContainer.java:36) at SlickBasicGame.main(SlickBasicGame.java:79) 

Ceci est mon code source:

 import org.newdawn.slick.AppGameContainer; import org.newdawn.slick.BasicGame; import org.newdawn.slick.GameContainer; import org.newdawn.slick.Graphics; import org.newdawn.slick.Image; import org.newdawn.slick.Input; import org.newdawn.slick.SlickException; public class SlickBasicGame extends BasicGame{ Image plane = null; Image land = null; float x = 400; float y = 300; float scale = 1; public SlickBasicGame() { super("Slick2D Path2Glory - SlickBasicGame"); } @Override public void init(GameContainer gc) throws SlickException { plane = new Image("data/plane.png"); land = new Image("data/land.jpg"); } @Override public void update(GameContainer gc, int delta) throws SlickException { Input input = gc.getInput(); if(input.isKeyDown(Input.KEY_A)) { plane.rotate(-0.2f * delta); } if(input.isKeyDown(Input.KEY_D)) { plane.rotate(0.2f * delta); } if(input.isKeyDown(Input.KEY_W)) { float hip = 0.4f * delta; float rotation = plane.getRotation(); x+= hip * Math.sin(Math.toRadians(rotation)); y-= hip * Math.cos(Math.toRadians(rotation)); } if(input.isKeyDown(Input.KEY_2)) { scale += (scale >= 5.0f) ? 0 : 0.1f; plane.setCenterOfRotation(plane.getWidth()/2.0f*scale, plane.getHeight()/2.0f*scale); } if(input.isKeyDown(Input.KEY_1)) { scale -= (scale <= 1.0f) ? 0 : 0.1f; plane.setCenterOfRotation(plane.getWidth()/2.0f*scale, plane.getHeight()/2.0f*scale); } } public void render(GameContainer gc, Graphics g) throws SlickException { land.draw(0, 0); plane.draw(x, y, scale); } public static void main(String[] args) throws SlickException { AppGameContainer app = new AppGameContainer( new SlickBasicGame() ); app.setDisplayMode(800, 600, false); app.start(); } } 

Le seul changement que j’ai apporté à l’original (qui signale la même erreur) est que j’ai supprimé la déclaration de package.

J’ai téléchargé Slick à partir d’ici: http://slick.cokeandcode.com/ , en cliquant sur le lien “Télécharger la dissortingbution complète”, et voici à quoi ressemble mon dossier Slick: entrer la description de l'image ici

Je comstack le jeu avec cette commande:

javac -cp lib/*:. SlickBasicGame.java

Et en essayant de l’exécuter avec celui-ci:

java -cp lib/*:. SlickBasicGame

Ajoutez un -Djava.library.path=path/to/dir à la ligne de commande ou en tant qu’option VM dans votre IDE afin que lwjgl puisse trouver le dossier contenant les fichiers natifs.