我想将.jar
转换为.exe
for microsoft。有没有任何程序转换器?
此外,如果有一个适用于Mac和Linux的话,我也会很感激那些建议。
答案 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: