如何将.jar转换为.exe?

Neg*_*s12 31 java windows exe

我想将a转换.jar.exefor microsoft.有没有任何程序转换器?

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

Mat*_*ieu 29

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
Run Code Online (Sandbox Code Playgroud)

然后从jar中创建runnable文件:

$ cat exestub.sh myrunnablejar.jar > myrunnable
$ chmod +x myrunnable
Run Code Online (Sandbox Code Playgroud)

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


小智 12

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

执行者

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

  • 你有Executor的链接吗?谷歌正在回归无关的东西. (2认同)

The*_*eLQ 5

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

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

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

  • 更正:如果您的项目是非商业性的并且可供公众使用,您可以获得免费的 Excelsior JET 许可证。它是否是开源的并不重要。 (2认同)

Tim*_*der 5

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

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

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

java -jar MyJar.jar
Run Code Online (Sandbox Code Playgroud)

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


dea*_*rOG 5

我使用 Launch4J 并且它运行完美,

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

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