我的LWJGL和Slick2d应用程序不会从runnable jar文件运行

时间:2013-12-19 00:22:45

标签: java eclipse lwjgl slick2d

我正在使用LWJGL和Slick2d。我已经创建了一个项目,它在eclipse中运行良好但是当我将它作为可执行jar文件导出时它什么也没做。我尝试从命令提示符运行它,它给了我这个错误:

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: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:135)
    at net.<My Package>.game.<My Main Class>.start(<My Main Class>.java:26)
    at net.<My Package>.game.<My Main Class>.main(<My Main Class>.java:75)

我已经尝试过每篇关于导出它的文章。我确实看到了Distributing Your LWJGL Application doc,但没有任何效果。我在MANIFEST文件中编辑了类路径字符串,但它不起作用。我要注意的一件事是,当我导出时,它会给我一个警告:

This operation repacks referenced libraries.
Please review the licenses associated with 
libraries you wish to reference to make sure you 
are able to repack them using this application. 
Note also that this operation does not copy 
signature files from original libraries to the 
generated JAR file.

我点击确定。

我希望我提供了足够的信息来帮助解决问题。我很乐意再提供相关信息 注意:我删除了代码块中的任何个人信息。 功能

2 个答案:

答案 0 :(得分:2)

可能有一些错误。请按顺序尝试以下操作。

  • 运行jar时使用命令行参数-Djava.library.path=path_to_"lwjgl.dll"_directory(例如-Djava.library.path=C:/programs/myprogram/natives)。
  • 更改目录。在命令提示符下,可以通过键入cd new_dir_here来完成此操作。更多信息here

  • 创建一个包含您使用的命令行参数的.bat文件。

  • 使用Launch4j。将.放在Change dir:字段中,并将lwjgl.jarlwjgl.dll放在与生成的.exe文件相同的文件夹中。这就是我解决问题的方法。

答案 1 :(得分:0)

听起来你没有把你的本地人装进你的罐子里。我会使用Jarsplice打包它们,以及所有其他库。