更改Eclipse工作空间后的UnsatisfiedLinkError

时间:2013-05-11 21:33:39

标签: java eclipse lwjgl unsatisfiedlinkerror slick

我一直在使用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 /中,就像之前一样,相对于项目而言)。我甚至试图将它们重新添加为外部罐子,但仍然没有运气。在尝试运行程序之前,编译器不会报告任何错误。

2 个答案:

答案 0 :(得分:0)

您是否检查了项目选项的部署程序集类别(假设您使用的是具有该类别的项目类型)? 您可以更新编译时引用,但不能更新运行时引用。

答案 1 :(得分:0)

当你移动java程序时,你可能没有移动那些告诉你的开发程序本机所在的文件。

appgc = new AppGameContainer(new Game(gamename)); //<-- This line 

最不可能抛出UnsatisfiedLinkError,因为LWJGL / Slick没有初始化AppGameContainer所需的本机。尝试链接本地人。

Linking natives in Eclipse

Linking natives in Netbeans