【发布时间】:2012-06-08 21:01:04
【问题描述】:
我目前正在开发基于 Slick2D 的游戏,但遇到了问题。
当我尝试运行我的游戏时(无论是从 dist 还是 ide),我都会收到以下错误:
java.lang.UnsatisfiedLinkError: no jinput-linux64 in java.library.path
我的目录结构如下:./lib 包含库的所有 .jar./natives 包含 .dll、.so 和 .jnilib
如果我转到项目选项,并将-Djava.library.path=./natives 添加到 VM 选项,它可以正常工作。但在这种情况下,我需要将所有本机库都放在 dist 的根文件夹中。所以我想为所有本地人创建一个单独的文件夹,所以我的第一行在我的 main 中有这样的:
System.setProperty("org.lwjgl.librarypath", System.getProperty("user.dir") + "/natives");
但由于某种原因,这并没有给出标准链接错误(例如 lwjgl not found),但由于某种原因选择了jinput-linux64,但 jinput 作为库添加并位于natives 文件夹中。
我做错了什么还是有更好的方法来有效地整体分发我的游戏?
谢谢!
【问题讨论】:
-
一方面,硬编码文件分隔符“/natives”是个坏主意。使用 System.getProperty 获取平台文件分隔符。
-
您能详细说明一下吗?
标签: java netbeans lwjgl slick2d