2013-05-11 41 views
0

我一直在使用lwjgl和Slick2D库。在某些时候,我需要将我的Minecraft Bukkit插件从我的其他Java程序中分离出来,所以我将Java程序移到了另一个工作区。更改Eclipse工作区后出现UnsatisfiedLinkError

Exception in thread "main" java.lang.UnsatisfiedLinkError: no lwjgl in java.library.path

堆栈跟踪点的地方,我初始化我AppGameContainer在main()块:

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

但是这样做,我的项目与前述方式库无法正常工作,给错误后该程序在工作区迁移之前编译并运行得非常好,除了工作区位置以外没有任何更改。我已经删除并重新添加了库jar(通过添加JAR,而不是添加外部JAR,jar文件在/ lib/jars /中,就像以前一样,与项目相关)。我甚至试图重新添加它们作为外部罐子,但仍然没有运气。在尝试运行程序之前,编译器不报告任何错误。

回答

0

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

+0

不知道如何在Eclipse O.o检查/设置项目类型甚至不知道有用于编译/运行单独引用。 – OffLuffy 2013-05-11 22:25:07

0

当您移动java程序时,您可能不会移动能够告诉您的开发程序本地位置的文件。

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

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

Linking natives in Eclipse

Linking natives in Netbeans