2010-12-02 136 views
17

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

另外,如果有一个Mac和Linux我会很感激这些建议。

+0

重复的问题,试试这里http://stackoverflow.com/questions/53845/java-compiler-options-to-produce-exe-files – 2010-12-02 01:50:55

+6

@Steve关于如何使用GCJ(这是可怕的顺便说一句),而不是在可用的选项。错误的副本 – TheLQ 2010-12-02 01:53:20

+0

答案中有一个有趣的链接,其中包含了答案中提到的软件。 – 2010-12-02 01:55:45

回答

17

Launch4j适用于Windows和Linux/Mac。但是,如果你正在运行Linux/Mac上,有一种方法嵌入到你的jar到执行你的AutoLaunch的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 

然后您从罐子创建可运行文件:

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

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

7

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

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

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

JarToExe 1.8 Jar2Exe是jar文件转换成exe文件的工具。 以下是他们网站上描述的主要功能:

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

执行人 包装Java应用程序作为一个罐子,执行器将从本地应用程序打开罐子到Windows exe文件,没有什么区别。只需双击该exe文件即可调用Java运行时环境并启动您的应用程序。