如何将.jar转换为.exe?

我想将.jar转换为Microsoft的.exe 。 有没有任何程序转换器?

另外,如果有一个Mac和Linux,我会赞赏这些build议。

Launch4j可以在Windows和Linux / Mac上运行。 但是如果你运行的是Linux / Mac,有一种方法可以将你的jarembedded到为你执行自动启动的shell脚本中,所以你只有一个可运行的文件:

exestub.sh:

 #!/bin/sh MYSELF=`which "$0" 2>/dev/null` [ $? -gt 0 -a -f "$0" ] && MYSELF="./$0" JAVA_OPT="" PROG_OPT="" # Parse options to determine which ones are for Java and which ones are for the Program while [ $# -gt 0 ] ; do case $1 in -Xm*) JAVA_OPT="$JAVA_OPT $1" ;; -D*) JAVA_OPT="$JAVA_OPT $1" ;; *) PROG_OPT="$PROG_OPT $1" ;; esac shift done exec java $JAVA_OPT -jar $MYSELF $PROG_OPT 

然后你从你的jar中创build你的可运行的文件:

 $ cat exestub.sh myrunnablejar.jar > myrunnable $ chmod +x myrunnable 

它的工作方式与launch4j的工作方式相同:因为jar有一个zip格式 ,哪个头文件位于文件的末尾 。 你可以有任何你想要的头文件(二进制可执行文件,或者像这里的shell脚本)并运行java -jar <myexe> ,因为<myexe>是一个有效的zip / jar文件。

JSmooth .exe包装器 JSmooth是一个Java可执行包装器。 它为您的Java应用程序创build本机Windows启动程序(标准.exe)。 它使得Java部署更加stream畅和用户友好,因为它能够自己find任何已安装的Java VM。 当没有虚拟机可用时,封装程序可以自动下载并安装合适的JVM,或者只显示消息或将用户redirect到网站。

JSmooth为你的java应用程序提供了各种各样的包装器,每个包装器都有自己的行为:select你的味道!

下载地址: http : //jsmooth.sourceforge.net/

JarToExe 1.8 Jar2Exe是一个将jar文件转换为exe文件的工具。 以下是他们网站上描述的主要function:

可以生成“Console”,“Windows GUI”,“Windows Service”三种types的exe文件。 生成的exe文件可以添加程序图标和版本信息。 生成的exe文件可以encryption和保护java程序,程序运行时不会生成临时文件。 生成的exe文件提供系统托盘图标支持。 生成的exe文件提供logging系统事件日志支持。 生成的Windows服务exe文件能够安装/卸载本身,并支持服务暂停/继续。 新版本的x64版本,可以创build64位高pipe。 (2008年5月18日)支持向导模式和命令行模式。 (2008年5月18日)下载地址: http : //www.brothersoft.com/jartoexe-75019.html

执行程序将Java应用程序打包为一个jar文件,执行程序将把jar文件转换为Windows exe文件,与原生应用程序无法区分。 只需双击该exe文件将调用Java运行时环境并启动您的应用程序。

如果您的程序是“公开提供的非商业性质”,并且有“一个公开的网站符合基本的质量标准” ,那么您可以尝试获得Excelsior的免费许可。 如果不是那么昂贵,但仍然是一个可行的select。

程序: https : //www.excelsiorjet.com

作为一个方面说明:这是一个研究所有现有的JAR的EXE程序,这是有点令人沮丧 – https://www.excelsior-usa.com/articles/java-to-exe.html

尽pipe在这些问题上反对一般的SO政策,但这似乎是OP真正想要的:

http://www.google.com/search?btnG=1&pws=0&q=java+executable+wrapper

如果您愿意,也可以尝试创build包含单行的相应批处理或脚本文件:

 java -jar MyJar.jar 

或者在很多情况下在Windows上双击可执行的jar。