繁体   English   中英

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

[英]In Eclipse, my exported executable jar doesn't do anything ! (LWJGL)

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

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

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

我最好的选择是你错过了在manifest -file中引用你的Main-class

看看这个,它展示了如何正确设置manifest -file。

玩得开心!

编辑:

Manifest-Version: 1.0 
Main-Class: SimpleTest 
Class-Path: lib/lwjgl.jar lib/slick.jar  
<-- new line without any content -->

编辑2:

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

Exception in thread "main" java.lang.reflect.InvocationTargetException
   ...
Caused by: java.lang.UnsatisfiedLinkError: no lwjgl in java.library.path
   ... 
    ... 5 more

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

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

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

我和eclipse和Slick有类似的问题,这就是我发现的。 (从LWJGL维基拉出来

我一直得到一个java.lang.UnsatisfiedLinkError:java.library.path中没有lwjgl

这是因为未正确设置本机部分。 将-Djava.library.path = path / to / dir添加到命令行或IDE中的VM选项,以便lwjgl能够找到包含本机文件的文件夹。

简而言之,导出的jar缺少适当的原生代码

现在,在编译到一个可运行的jar时,我假设你想要一个双击启动的应用程序,所以这不太可能。

您可以在使用System.setProperty启动后设置java.library.path ,或将所需的本机放在默认库路径中。

我自己并没有找到最好的解决方案,但我希望这有帮助

尝试使用Jar Splice http://ninjacave.com/jarsplice您需要做的就是将所有.jar文件(主文件和库)和所有DLL都给它。 它可以创建一个有效的.jar。 它还可以生成可执行文件(.exe),以及Linux和Mac等效项。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM