2012-11-29 65 views
2

我安装并将lwjgl库和本机文件放到/ lib文件夹中。在日食Java构建路径设置库位置和本地库位置。当我试图在Eclipse中运行它,它的工作原理,但是当我将其导出为一个可运行的罐子,它不运行,并抛出错误:Eclipse java lwjgl在java.library.path中没有lwjgl

Exception in thread "main" java.lang.UnsatisfiedLinkError: no lwjgl in java.libr 
ary.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: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.Display.<clinit>(Display.java:132) 
     at Main.start(Main.java:9) 
     at Main.main(Main.java:31) 

试过VM参数设置运行属性-Djava。 library.path =“lib /”但它不起作用。

P.S.试图将本机的.dll放入与jar相同的文件夹,并且它可以正常工作,但我想让.dll位于其他文件夹中。 谢谢!

+0

请发布您用于运行jar的确切命令。 – Gimby

回答

0

找到了答案。您可以使用自定义.bat文件做出来,放在那里-Djava.library.path =“LIB /”,但我的解决办法是programmaticaly做到这一点与下一行:

System.setProperty("org.lwjgl.librarypath",System.getProperty("user.dir") + "/lib/"); 
+0

你把这条线放在哪里? – Unome

0

您是否尝试过使用JarSplice?这是一个免费的Java的.jar包装程序在这里找到:

Ninja Cave - JarSplice

按照说明进行操作。所有的文件都在这个网站上。只要确保你用于你的程序的JAR只是一个eclipse JAR文件,而不是一个可运行的jar。当你启动JarSplice时,添加适当的Jars,Natives,定义你的主类,并简单地创建一个可运行的JAR。无需设置虚拟机配置,也可以导出到Windows.exe和MacOSX。如果一切顺利,你应该有一个双击可运行jar。希望这可以帮助。这是我过去如何打包LWJGL游戏:)