我一直在使用lwjgl和Slick2D库来处理我正在做的事情。在某些时候我需要从我的其他java程序中拆分我的Minecraft Bukkit插件,所以我将java程序移动到另一个工作区。但是,执行此操作后,我的项目与前面提到的库无法工作,给出错误:
线程中的异常" main" java.lang.UnsatisfiedLinkError:java.library.path中没有lwjgl
堆栈跟踪指向我在main()块中初始化AppGameContainer的位置:
AppGameContainer appgc;
try{
appgc = new AppGameContainer(new Game(gamename)); // <-- This line
appgc.setDisplayMode(800, 600, false);
appgc.setTargetFrameRate(FPS);
appgc.start();
}catch(SlickException ex){
ex.printStackTrace();
}
该程序在工作区迁移之前编译并运行完美,除了工作区位置外,NOTHING已更改。我已经删除并重新添加了库jar(通过Add JAR,而不是Add External JAR,jar文件在/ lib / jars /中,就像之前一样,相对于项目而言)。我甚至试图将它们重新添加为外部罐子,但仍然没有运气。在尝试运行程序之前,编译器不会报告任何错误。
答案 0 :(得分:0)
您是否检查了项目选项的部署程序集类别(假设您使用的是具有该类别的项目类型)? 您可以更新编译时引用,但不能更新运行时引用。
答案 1 :(得分:0)
当你移动java程序时,你可能没有移动那些告诉你的开发程序本机所在的文件。
appgc = new AppGameContainer(new Game(gamename)); //<-- This line
最不可能抛出UnsatisfiedLinkError,因为LWJGL / Slick没有初始化AppGameContainer所需的本机。尝试链接本地人。