# Problem in der Main.class



## NeoBlyzX (9. Dez 2013)

Heyho!
Ich habe hier ein kleines Problem, welches anscheinend willkürlich auftritt:
Ich bekomme eine Fehlermeldung:

[WR]Exception in thread "main" java.lang.UnsatisfiedLinkError: no lwjgl in java.library.path
	at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1878)
	at java.lang.Runtime.loadLibrary0(Runtime.java:849)
	at java.lang.System.loadLibrary(System.java:1087)
	at org.lwjgl.Sys$1.run(Sys.java:73)
	at java.security.AccessController.doPrivileged(Native Method)
	at org.lwjgl.Sys.doLoadLibrary(Sys.java:66)
	at org.lwjgl.Sys.loadLibrary(Sys.java:95)
	at org.lwjgl.Sys.<clinit>(Sys.java:112)
	at org.lwjgl.opengl.GLContext.<clinit>(GLContext.java:112)
	at org.lwjgl.opengl.GL11.glMatrixMode(GL11.java:2063)
	at me.neoblyzx.engine.Main.initGL(Main.java:68)
	at me.neoblyzx.engine.Main.main(Main.java:31)
Java Result: 1
BUILD SUCCESSFUL (total time: 1 second)[/WR]

Das hier ist meine Main.class:


```
package com.base.engine;

import com.base.game.Game;
import com.base.game.Time;
import java.util.logging.Level;
import java.util.logging.Logger;
import org.lwjgl.LWJGLException;
import org.lwjgl.input.Keyboard;
import org.lwjgl.input.Mouse;
import org.lwjgl.opengl.Display;
import org.lwjgl.opengl.DisplayMode;
import static org.lwjgl.opengl.GL11.*;


public class Main 
{
    public static int disWidth = 800;
    public static int disHeight =600;
    
    
    public static void main(String[] args)
    {
        initDisplay();
        initGL();
        initGame();
        
        gameLoop();
        
        
        cleanUp();
    }
    
    private static void initGame()
    {
        Game.game = new Game(); //Anmerkung fpr die nächsten 3 Methoden: die Game.class funktioniert einwandfrei!
    }
    
    private static void getInput()
    {
        Game.game.getInput();
    }
    
    private static void update()
    {
       Game.game.update();
    }
    
    private static void render()
    {
        glClear(GL_COLOR_BUFFER_BIT);
        glLoadIdentity();
        
        Game.game.render();
        
        Display.update();
        Display.sync(60);
    }
    
    private static void initGL()
    {
        glMatrixMode(GL_PROJECTION);
        glLoadIdentity();
        glOrtho(0, Display.getWidth(), 0, Display.getHeight(), -1, 1);
        glMatrixMode(GL_MODELVIEW);
        
        glDisable(GL_DEPTH_TEST);
        
        glClearColor(0, 0, 0, 0);
    }
    
    private static void gameLoop()
    {        
        Time.init();
        
        int frames = 0;
        long lastTime = System.nanoTime();
        long totalTime = 0;
        
        while(!Display.isCloseRequested())
        {
            long now = System.nanoTime();
            long passed = now - lastTime;
            lastTime = now;
            totalTime += passed;
            
            if(totalTime >= 1000000000)
            {
                System.out.println(frames);
                totalTime = 0;
                frames = 0;
            }
            
            Time.update();
            getInput();
            update();
            render();
            frames++;
        }
        
        
        
    }
    
    private static void cleanUp()
    {
        Display.destroy();
        Keyboard.destroy();
    }
    
    
    private static void initDisplay()
    {
        try 
        {
            Display.setDisplayMode(new DisplayMode(disWidth, disHeight));
            Display.create();
            Keyboard.create();
            Display.setVSyncEnabled(true);
        } 
        catch (LWJGLException ex) 
        {
            Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
        }
    }
    
}
```

Die Meldung verweist ja genau auf die initDisplay() Methode, jedoch ist die wichtig und wenn ich die entferne geht nichts (Kein Bild, keine Tastatur)

Wäre cool, wenn jemand helfen könnte


----------



## Ruzmanz (9. Dez 2013)

Wenn du eine Exception hast, musst du die nur in Google eingeben und dann hast du mit hoher Wahrscheinlichkeit eine Lösung oder das Problem innerhalb von 5min.

Die Lösung: Du hast deine DLL-Datei nicht richtig / oder gar nicht eingebunden. Die musst du entweder in deine system32 bzw. 64er-Ordner legen (jenachdem welche Runtime du benutzt), in das Root-Verzeichnis deines Projekts, oder JRE als Parameter übergeben. Tutorial: Z.B. lwjgl.org - Home of the Lightweight Java Game Library


----------

