我现在是一名高中生,我找到了一个名为FBLA的俱乐部的游戏编程比赛。我对比赛有几个问题,所以我给他们发了电子邮件。
我之前在计算机科学堆栈交换上发了一篇文章,您可以在其中查看here。
现在收到问题的反馈后,有人评论说我应该在这个网站上发布我的下一个问题。
<小时/> 我的问题是,我如何能够将Java JAR文件与本机库打包在一起,然后从中创建一个EXE,这样它就会独立存在?
在我的理论中,我必须创建jar,并在人们在他们的机器上安装java时将所需的本机文件放入该JAR文件中,然后我可以使用FatJar或JSmooth等程序。
如果我错了,或者我怎么能更多地了解罐子的运行方式,那将会有很大帮助。
<小时/> 2014年11月8日更新
再次陈述我需要发生的事情:
即使在法官的计算机上没有安装任何版本的Java,可执行文件也能够运行。
答案 0 :(得分:3)
我建议您使用launch4j。 http://launch4j.sourceforge.net
我已将它用于一些较大的项目,并且效果非常好。
它可以将jar,依赖项甚至JRE封装到可执行文件的窗口中。它有一个GUI,或者您可以从命令行运行。
答案 1 :(得分:0)
Checkout Packr,由libGDX团队创建:https://github.com/libgdx/packr
答案 2 :(得分:0)
要使jar可执行,您可以在jar的清单文件中指定应用程序的主类,它可能需要的任何额外jar文件等等:
Main-Class: MyAppMain
Class-Path: MyLib.jar
然后使用Java SDK中的jar实用程序打包类和资源文件,指定m选项和清单文件的名称:
jar cvfm MyApp.jar MyApp.mf *.class *.gif
这将导致MyApp.jar
的创建。现在,如果你输入
java -jar MyApp.jar
Java启动程序将从MyApp.jar
读取清单,将该文件和 MyLib.jar
放在类路径上,并从类MyAppMain
调用main方法。< / p>
现在,如果您的Java应用程序需要本机库,您还需要指定指向包含这些目录的目录的java.library.path
属性:
java -Djava.library.path=.\bin -jar MyApp.jar
有关更多信息和替代解决方案,请参阅my article。