尝试部署可执行JAR

时间:2018-03-21 02:46:59

标签: java eclipse lwjgl slick2d

我正在尝试执行一个可执行的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上,但无济于事。

到目前为止,我已经尝试过:

  1. 将我的Slick2D用户库中lwjgl.jar的本机库位置更改为包含lwjgl-natives - * .jar文件的文件夹,但那些只有32位定义,我认为它正在寻找一个DLL,所以......
  2. 我改为执行以下命令:
      

    java -jar JAR_NAME.jar -Djava.library.path =“C:\ slick2d”

  3. 但是这产生了相同的结果,即使该目录包含lwjgl64.dll,以及其他文件。

    1. 我尝试将所有dll / so文件从C:\ slick2d复制到Eclipse中源文件夹中名为natives的文件夹中,并使用以下代码将其设置为java.library.path:
    2.   

      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特定的东西......它似乎是两次加载我的资产。我能看到这种情况的唯一方法是输入加载状态两次,这没有意义。

0 个答案:

没有答案