一尘不染

Java如何将.jar转换为.exe?

java

我想将转换.jar.exe对微软。为此有任何程序转换器吗?

另外,如果有适用于Mac和Linux的操作系统,我也将为你提供建议。


阅读 480

收藏
2020-03-24

共1个答案

一尘不染

Launch4j在Windows和Linux / Mac上均可使用。但是,如果你正在运行Linux / Mac,则有一种方法可以将jar嵌入到为你执行自动启动的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中创建可运行文件:

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

它的工作方式与launch4j的工作方式相同:因为jar的压缩格式为zip,而标头位于文件的末尾。你可以拥有所需的任何标头(二进制可执行文件或Shell脚本),然后运行java -jar ,这是有效的zip / jar文件。

2020-03-24