在Eclipse中,我导出的可执行jar不会做任何事情!(LWJGL)

Ort*_*eil 4 java eclipse lwjgl slick2d

Java初学者在这里.

我在Eclipse(在Windows上)使用LWJGL lib和Slick创建了一个小型Java应用程序.然后,当我导出为可执行的.jar文件,并运行生成的.jar时,它不会执行任何操作.没有错误,没有任何错误 - 只是似乎没有运行.我正在学习本教程:http://www.cs.bsu.edu/homepages/pvg/misc/slick_eclipse_tutorial.php

这是我的manifest.mf文件的样子:

Manifest-Version: 1.0
Main-Class: SimpleTest
Class-Path: lib/lwjgl.jar lib/slick.jar
Run Code Online (Sandbox Code Playgroud)

不使用LWJGL导出的应用程序就好了.我究竟做错了什么 ?

我尝试使用JarSplice虽然没有用,但我可能会误用它.有什么指针吗?

Sim*_*Sez 5

我最好的选择是你错过了引用你Main-classmanifest文件.

看看这个,它展示了如何manifest正确设置你的文件.

玩得开心!

编辑:

Manifest-Version: 1.0 
Main-Class: SimpleTest 
Class-Path: lib/lwjgl.jar lib/slick.jar  
<-- new line without any content -->
Run Code Online (Sandbox Code Playgroud)

编辑2:

好的,我能够重现这种行为.当我尝试通过控制台运行导出的jar时,我遇到以下异常:

Exception in thread "main" java.lang.reflect.InvocationTargetException
   ...
Caused by: java.lang.UnsatisfiedLinkError: no lwjgl in java.library.path
   ... 
    ... 5 more
Run Code Online (Sandbox Code Playgroud)

在做了一些研究后,我发现很难将原生dll打包到一个可执行的jar中.
为了澄清,我发现了三个选择:

  1. 通常只需将您的jar导出为Eclipse中的Runnable JAR,然后将其放在包含本机dll的文件夹中(选中此项,在我的教程中使用我的设置)
  2. 在执行时将你的dll提取到这里提到的临时目录中
  3. 或者使用One-Jar项目,它允许您使用本机库创建可运行的jar

希望这能解决你的问题.干杯!