我的Java Slick游戏Jar文件无法打开

时间:2013-01-19 18:54:10

标签: java lwjgl buildpath

我使用slick和lwjgl创建了一个简单的GUI,我使用eclipse并将我的jar,native和images导入到我的Java构建路径中,我将代码导出为jar文件并在我的桌面上获取jar文件,我尝试用SE Binary打开它,它会加载一段时间然后没有任何反应。

它可能与我如何将它们导入我的构建路径有关,我会尝试解释,我在我的Java项目中有两个我创建的其他文件夹,它们是lib和res,res保存我的所有images和lib拥有另外两个名为jar和native的文件夹,jars包含两个jar文件(slick和lwjgl),native包含4个其他文件夹(windows,linux,mac,solaris natives),我将2个jar文件导入到构建路径中添加jar选项,然后我使用add class folder选项导入我的res文件,然后使用相同的选项导入lib文件夹,然后我导出它,现在它不会打开。

值得一提的是,在从eclipse导出我的jar文件之前,我得到以下弹出消息:操作重新包装引用的库。

1 个答案:

答案 0 :(得分:0)

似乎lwjgl在jar存档中时不能使用本机库。

解决方案是将您的natives文件夹解压缩到某个安装目录或临时目录中。然后,在使用任何lwjgl函数之前,需要设置本机的新路径。例如,在“lib / native”中解压缩的文件我使用

System.setProperty("org.lwjgl.librarypath", (new File("lib/native")).getAbsolutePath());
System.setProperty("java.librarypath", (new File("lib/native")).getAbsolutePath());
System.setProperty("net.java.games.input.librarypath", (new File("lib/native")).getAbsolutePath());

这似乎是最简单的解决方案。例如,minecraft(使用lwjgl)将本机解包为“%appdata%.minecraft \ bin \ natives”(在windows上,〜而不是Linux上的%appdata%)。

编辑:一个非常相关的维基页面:http://lwjgl.com/wiki/index.php?title=Distributing_Your_LWJGL_Application