# Exception in thread "main" java.lang.UnsatisfiedLinkError: no lwjgl in java.library.p



## nico86 (10. Jul 2009)

Hi,

ich habe mit Eclipse per Exportfunktion ein Jar-File erstellt. Wenn ich versuche es auszuführen bekomme ich folgenden Fehler:

Exception in thread "main" java.lang.UnsatisfiedLinkError: no lwjgl in java.library.path
        at java.lang.ClassLoader.loadLibrary(Unknown Source)
        at java.lang.Runtime.loadLibrary0(Unknown Source)
        at java.lang.System.loadLibrary(Unknown Source)
        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.<clinit>(Sys.java:101)
        at org.lwjgl.opengl.Display.<clinit>(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.<clinit>(AppGameContainer.java:36)

Die Library ist im Jar-File enthalten im Pfad: Lib\lwjgl.dll.

Ich habe schon eine ganze Weile herumprobiert habe aber keine Ahnung wo vermerkt ist wo er nach der Library sucht. Bzw. was es mit diesem "java.library.path" auf sich hat.
Das ist mein erstes Projekt mit Java. Von daher hab ich keine Ahnung wie das mit den Jar-Files funktioniert 
Hat vielleicht jemand einen Tip?


----------



## The_S (10. Jul 2009)

Dein erstes Projekt und dann gleich was mit JNI? Übernimmst du dich da nicht ein wenig? Also native Librarys wie DLLs kommen *nicht* mit ins JAR. Hier ein kleiner JNI Einstieg:



			
				Java Blog Buch hat gesagt.:
			
		

> Hierzu wird die Methode loadLibrary der Klasse System verwendet. Wir gehen davon aus, dass sich die Library im selben Verzeichnis wie das Programm befindet (oder zumindest im library.path), weshalb es genügt, den Namen der Bibliothek ohne Dateiendung zu nennen (die Dateiendung wird - je nach Plattform - automatisch hinzugefügt).
> 
> Der library.path ist der Ort, an dem Java nach Bibliotheken sucht. Sie können sich diesen Pfad über
> 
> ...



auis ( Java Blog Buch : 19.02 Hello (JNI) World )


----------



## nico86 (10. Jul 2009)

Also ich selbst mache nichts mit JNI. Das kommt wohl von dem Framework welches ich benutze: http://slick.cokeandcode.com
Das Framework benötigt verschiedene Librarys (u.a. lwjgl). Diese habe ich in Eclipse über Projekteigenschaften > Java Build Path > Libraries hinzugefügt. In Eclipse funktioniert das auch wunderbar.

Das Problem ist nur: ich hätte gerne eine ausführbare .jar. Die Exportfunktion von Eclipse scheint das ja nich so ganz automatisch hinzubekommen (oder ich bin zu blöd ???:L


----------



## The_S (10. Jul 2009)

Und was hast du jetzt an meiner Erläuterung nicht verstanden?


----------



## nico86 (10. Jul 2009)

Ah ok ich habe es hinbekommen. Die .dll musste in einem dieser Pfade stehen System.out.println(System.getPropertie("java.libra ry.path"));

Danke für die Hilfe


----------

