1

我使用 slick 和 lwjgl 制作了一个简单的 GUI,我正在使用 eclipse 并将我的 jars、natives 和图像导入到我的 Java 构建路径中,我将我的代码导出为 jar 文件并在我的桌面上获取一个 jar 文件,我尝试打开它与 SE Binary 一起加载并加载了一会儿然后什么也没有发生。

这可能与我将它们导入构建路径的方式有关,我将尝试解释一下,我在 Java 项目中创建了两个额外的文件夹,它们是 lib 和 res,res 包含我所有的图像和 lib包含另外两个名为 jars 和 natives 的文件夹,jars 包含两个 jar 文件(slick 和 lwjgl),natives 包含 4 个其他文件夹(windows、linux、mac、solaris natives),我使用添加 jar 将我的 2 个 jar 文件导入到构建路径中选项,然后我使用添加类文件夹选项导入我的 res 文件,然后使用相同的选项导入 lib 文件夹,然后导出它,现在它没有打开。

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

4

1 回答 1

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());

这似乎是最简单的解决方案。例如,我的世界(使用 lwjgl)将原生解包到“%appdata%.minecraft\bin\natives”(在 Windows 上,〜而不是 linux 上的 %appdata%)。

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

于 2013-01-24T01:24:19.147 回答