时间:2010-12-02 01:47:42

标签: java windows exe

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

此外,如果有一个适用于Mac和Linux的话,我也会很感激那些建议。

5 个答案:

答案 0 :(得分:26)

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中创建runnable文件:

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

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

答案 1 :(得分:11)

JSmooth .exe wrapper

JSmooth是一个Java可执行包装器。它为您的Java应用程序创建本机Windows启动程序(标准.exe)。它使java部署更加顺畅和用户友好,因为它能够自己找到任何已安装的Java VM。当没有可用的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服务.exe文件可以自行安装/卸载,并支持服务暂停/继续。

<强>执行人

将Java应用程序打包为jar,Executor将jar转换为Windows .exe文件,与本机应用程序无法区分。只需双击.exe文件即可调用Java Runtime Environment并启动您的应用程序。

答案 2 :(得分:5)

如果您的计划是"publicly available non-commercial in nature" and has "a publicly available Web site that meets the basic quality standards",那么您可以尝试获得Excelsior的免费许可。如果不是那么它很昂贵,但仍然是一个可行的选择。

计划:https://www.excelsiorjet.com

作为旁注:这是对所有现有Jar到EXE程序的研究,这有点令人沮丧 - https://www.excelsior-usa.com/articles/java-to-exe.html

答案 3 :(得分:4)

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

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

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

java -jar MyJar.jar

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

答案 4 :(得分:1)

对于 Windows,您可以使用以下方式将 jar 转换为 exe:

  1. 使用 Netbeans https://erainnovator.com/convert-jar-to-exe-file/
  2. 使用 Excelsior JET https://youtu.be/iQSfUb8chjg