如何将 .jar 转换为 .exe?

新手上路,请多包涵

我想将 .jar 转换为 .exe 用于微软。有没有这个的程序转换器?

此外,如果有适用于 Mac 和 Linux 的版本,我也会很感激这些建议。

原文由 Negrodamus12 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 485
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 <myexe> ,因为 <myexe> 是一个有效的 zip/jar 文件。

原文由 Matthieu 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题