我安装并将lwjgl库和natives放到/ lib文件夹中。在eclipse Java构建路径上设置库位置和本机库位置。当我尝试在eclipse上运行它时,它可以工作,但是当我将它作为一个可运行的jar导出时,它不会运行,并抛出错误:
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 :(得分:0)
找到答案。您可以使用自定义.bat文件并将其放在那里-Djava.library.path =“lib /”,但我的解决方案是使用下一行的programmaticaly执行此操作:
System.setProperty("org.lwjgl.librarypath",System.getProperty("user.dir") + "/lib/");
答案 1 :(得分:0)
您是否尝试过使用JarSplice?这是一个免费的Java .jar打包程序:
Ninja Cave - JarSplice
按照说明操作。所有文档都在本网站上。只需确保您用于程序的JAR只是一个eclipse JAR文件,而不是一个可运行的jar。当您启动JarSplice时,添加适当的Jars,Natives,定义您的主类,并简单地创建一个可运行的JAR。无需设置VM配置,也可以导出到Windows.exe和MacOSX。如果一切顺利,你应该有一个可双击的可运行jar。希望这可以帮助。它是我过去打包LWJGL游戏的方式:)