繁体   English   中英

如何将 .jar 转换为 .exe?

[英]How can I convert a .jar to an .exe?

我想将.jar转换为 Microsoft 的.exe 有没有这个的程序转换器?

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

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 文件。

JSmooth .exe 包装器

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 文件能够自行安装/卸载,并支持服务暂停/继续。

  • 新发布的x64版本,可以创建64位高管。 (2008 年 5 月 18 日)
  • 支持向导模式和命令行模式。 (2008 年 5 月 18 日)
  • 下载: http ://www.brothersoft.com/jartoexe-75019.html

执行人

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

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

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

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

尽管这违反了关于这些问题的一般 SO 政策,但这似乎是 OP 真正想要的:

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

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

java -jar MyJar.jar

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

我使用了 Launch4J,它完美无瑕,

  • 首先,转到您的 jdk 并复制 bin 和 lib 文件夹
  • 然后为您的应用创建一个文件夹并创建一个名为 jre-(version) 的文件夹,
  • 然后把这些贴在里面
  • 然后打开launch4j把exe文件的路径(在app的文件夹里面)
  • 然后转到 jre 选项并在捆绑路径中输入 jre-(version)
  • 然后在 minimun version 中键入您编写的 java 版本。
  • 然后在 jre 选项中输入“仅使用私有 jdk 运行时”
  • 然后点击齿轮图标。 它将打开一个文件选择器。
  • 选择您的应用程序的文件夹,完成
  • 现在打开生成的exe文件。 它应该工作。

如果没有,请尝试试运行按钮(绿色播放按钮)。 如果它在下面的控制台中显示 LinkageError,则在 jvm-options 中键入--enable-preview 它应该工作。 我希望它有所帮助。

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

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

如果您需要从 java 14 将.jar转换为.exe ,您可以使用jpackage

jpackage是一个命令行工具,用于为 Java 应用程序创建本机安装程序和包。

这篇文章会帮助你

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM