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并启动您的应用程序.
如果您的程序"公开提供非商业性质"并且具有"符合基本质量标准的公共网站",那么您可以尝试获得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
Run Code Online (Sandbox Code Playgroud)
或者在 Windows 上的许多情况下,只需双击可执行 jar。
我使用 Launch4J 并且它运行完美,
如果没有,请尝试测试运行按钮(绿色播放按钮)。如果下面的控制台显示 LinkageError,则在 jvm-options 中输入--enable-preview. 它应该有效。我希望它有帮助。
| 归档时间: |
|
| 查看次数: |
98651 次 |
| 最近记录: |