2

我安装并把 lwjgl 库和本地人放到 /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/" 但它也不起作用。

PS试图将本机.dll与jar放在同一个文件夹中并且它可以工作,但我希望.dll位于其他文件夹中。谢谢!

4

2 回答 2

0

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

Ninja Cave - JarSplice

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

于 2014-03-25T15:28:48.613 回答
0

找到了答案。您可以使用自定义 .bat 文件并将其放在那里 -Djava.library.path="lib/",但我的解决方案是通过下一行以编程方式执行此操作:

System.setProperty("org.lwjgl.librarypath",System.getProperty("user.dir") + "/lib/");
于 2012-11-29T14:12:59.973 回答