2012-01-20 58 views
0

我正在使用OneJAR将我的应用程序打包到单个jar中。launch4j/OneJAR打包的.exe文件损坏

OneJAR创建的.jar文件在Windows上完美启动,JOGL代码正常运行。

然后我使用launch4j将此.jar文件转换为.exe文件。

当我尝试执行该文件时,Windows(7)报告文件已损坏。

我的应用程序包含一些本地代码(JOGL DLL),我猜可能与此有关。

如果我在没有OneJAR的情况下创建一个可执行的jar文件并将其转换为.exe文件,但它会抱怨缺少的JOGL DLL文件(当然,因为它们不能包含在没有OneJAR之类的jar文件中)。

那么有没有人使OneJAR + launch4j + DLLs的组合工作,或者这是不会工作的东西?

回答

0

尝试JarSplice,Launch4j对我来说工作得很好。

+0

谢谢,很高兴知道。如果我不能让OneJAR与launch4j一起玩,我会看看。 JarSplice可能会完成这项工作,但它似乎缺少任何脚本可能性,所以这将是我会尽量避免的手动构建步骤。我有大约十个罐子和一打原生库,所以我不希望每次测试/发布我的应用程序时手动添加它们。嗯......也许我可以破解它做我需要的东西......好吧,在我着手之前需要等待一些更多的答案。谢谢。 – nyholku

+0

Bah,我的愚蠢的错误,抱歉的噪音。问题在于我的Ant脚本有一个jstub Ant任务,它在launch4j有机会发挥它的魔力之前破坏了.jar文件。所以我可以报告OneJAR和launch4j完美结合,强烈推荐。 – nyholku

0

问题解决了,看到我对加文答案的评论,我的愚蠢的错误。

嗯,我的愚蠢的错误,抱歉的噪音。问题是 ,我的Ant脚本有一个jstub Ant任务,它在发射之前破坏了.jar文件 ,有机会发挥它的魔力。因此,我可以报告说,OneJAR和launch4j完美结合,强烈推荐。