我正在尝试执行一个可执行的JAR,我使用Eclipse为我正在尝试部署的Slick2D游戏项目生成,并且我一直收到错误说:
java.lang.UnsatisfiedLinkError: no lwjgl64 in java.library.path
在几个月前设置项目时,我遵循了Slick2D设置。但到目前为止,我一直在运行Eclipse,并且从未试图通过JAR运行。
为了生成JAR,我选择了Export - > Runnable JAR,我选择将所需的库打包到JAR中。然后我尝试从命令行执行JAR:
java -jar JAR_NAME.jar
收到上述错误后,我尝试了很多不同的方法将这个所谓的lwjgl64库放到java.library.path上,但无济于事。
到目前为止,我已经尝试过:
java -jar JAR_NAME.jar -Djava.library.path =“C:\ slick2d”
但是这产生了相同的结果,即使该目录包含lwjgl64.dll,以及其他文件。
System.setProperty(“java.library.path”,“libs”);
System.setProperty(“org.lwjgl.librarypath”,新文件(“libs / natives”)。getAbsolutePath());
但这只会导致另一个错误:
java.lang.UnsatisfiedLinkError: Can't load library: C:\Users\packetpirate\workspace\GZS Redux\target\libs\natives\lwjgl64.dll
有没有人对此问题有任何见解?我不擅长构建项目,特别是在Eclipse中,所以我总是遇到链接依赖项的问题。我曾想过将我的项目转换为Maven,但我不知道从哪里开始以及如何设置它。
编辑:我意识到当我生成JAR时,libs / natives文件夹没有被复制到目标文件夹,在复制之后,我能够运行JAR,但我仍然得到与jinput-dx8_64和jinput-raw_64相关的类似错误,这些错误也在同一个文件夹中。它似乎并没有影响游戏的行为,但是......
另外,虽然我知道这是Slick2D特定的东西......它似乎是两次加载我的资产。我能看到这种情况的唯一方法是输入加载状态两次,这没有意义。