将eclipse项目导出到jar

时间:2013-04-21 15:15:37

标签: java eclipse jar export lwjgl

我确实检查了已经回答的问题,这些问题与这个问题的主题几乎相同,但是回答的问题没有一个能够解决我的问题。

我现在已经在网上搜索了大约4个小时,并尝试了很多不同的东西来解决我的问题..

我试图用Java制作Pong游戏,现在我想导出我的项目,这样我就可以把它发送给朋友,这样他就可以尝试了。

我在这个项目中使用LWJGL,所以我确实在引用的库中添加了一些jar,并且LWJGL.jar添加了windows natives,它包含在项目lib文件夹中。 这是项目查看器的图像:

发布此图像的原因是,您可以了解项目中的所有库以及项目运行所需的本机库。

在阅读jar无法工作的原因时,我还读到你需要一个Manifest.mf文件,所以我创建了一个并在这个清单文件中,我有以下文字:

Manifest-Version: 1.0
Main-Class: jGame.Main
Class-Path: lib/jars/asm-debug-all.jar lib/jars/jinput.jar lib/jars/lwjgl.jar lib/jars/izma.jar lib/jars/slick.jar

Class-Path下面还有2个空行,因为我听说你必须拥有它。

这个项目运行正常,因为我在eclipse中运行它,但是当我在eclipse中使用runnable jar或jar向导导出项目时,当我双击.jar文件时我没有启动所以我进入了cmd并使用了这个命令:

java.exe -jar JGame.jar

显示以下消息:

我已经检查了至少10次,我为主要班级提供了正确的路径..而且我不知道该怎么做了。在eclipse向导中,我一直在尝试导出runnable jar并导出普通jar,但两者都没有工作。同样在向导中我选择导出一个不能运行的普通jar,因为当我选择runnable时,库会搞乱,因为lib文件夹被替换了。

我尝试将jar文件作为存档打开并获得以下内容:

1 个答案:

答案 0 :(得分:0)

尝试使用JarSplice我成功解决了这个问题。

看完之后:

  
    

它不会按照您当前尝试的方式工作,因为您需要将本机文件放在jar和point旁边     通过'-Djava.library.path'参数给他们。

  
     

如果你只想要一个罐子,并希望避免麻烦   命令行和本机文件使用JarSplice工具。 JarSplice是   易于使用,并将自动处理本机文件的东西   你。

     

1)只需将项目(类和资源)导出到jar(更简单   只是通过你的IDE来实现。)

     

2)然后运行JarSplice,将所需的所有罐子添加到罐子标签(你的   app jar,lwjgl.jar,以及你正在使用的任何其他外部jar。

     

3)然后在natives选项卡上添加所有本机文件(windows * .dll,   linux * .so,mac * .dylib& * .jnilib)。

     

4)在课程选项卡上添加您的主课程。然后创建你的jar。

     

然后你可以通过双击它来运行这个jar(或者如果你愿意的话)   通过命令行使用'java -jar yourapp.jar')。

我通过以下链接找到了此解决方案:Can't start .jar file (using LWJGL)

我第一次没有工作的原因是我没有包含使用JarSplice时从eclipse导出的实际.jar文件。