Eclipse java lwjgl在java.library.path中没有lwjgl

时间:2012-11-29 10:46:21

标签: java eclipse jvm lwjgl

我安装并将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是在其他文件夹中。    谢谢!

2 个答案:

答案 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游戏的方式:)