0

我一直在使用 lwjgl 和 Slick2D 库。在某些时候,我需要将我的 Minecraft Bukkit 插件与我的其他 Java 程序分开,所以我将 Java 程序移动到另一个工作区。然而,在这样做之后,我的带有上述库的项目无法工作,出现错误:

线程“主”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();
    }

该程序在工作空间迁移之前编译并运行得非常好,除了工作空间位置之外没有任何变化。我已经删除并重新添加了库 jars(通过添加 JAR,而不是添加外部 JAR,jar 文件在 /lib/jars/ 中,就像以前一样,相对于项目)。我什至尝试将它们重新添加为外部罐子,但仍然没有运气。编译器在尝试运行程序之前没有报告任何错误。

4

2 回答 2

0

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

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

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

在 Eclipse 中链接本机

在 Netbeans 中链接本地人

于 2013-07-30T15:01:49.087 回答
0

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

于 2013-05-11T21:48:38.537 回答