per*_*erp 61 java windows deployment executable software-distribution
假设我想分发Java应用程序.
假设我想将它作为单个可执行文件分发.我可以轻松地将一个.jar与应用程序及其所有外部依赖项一起构建在一个文件中(带有一些Ant黑客攻击).
现在假设我想在Windows上将其作为.exe文件分发.这很简单,因为那里有很好的工具(例如Launch4j等).
但是现在假设我也不想依赖于最终用户安装了正确的JRE(或者根本就是任何JRE).我想用我的应用程序分发JRE,我的应用程序应该在这个JRE上运行.创建Windows安装程序可执行文件并嵌入包含所有必需JRE文件的文件夹非常简单.但后来我正在分发安装程序而不是单文件应用程序.
有没有办法将应用程序和 JRE 嵌入到充当应用程序启动器的.exe文件中(而不是作为安装程序)?
And*_*ejs 12
这是一个新工具:Packr
https://github.com/libgdx/packr
小智 7
相当多的选择,商业上这是非常好的:
http://www.excelsior-usa.com/jet.html
有两个关键的开源选项GCJ和VMKit
http://gcc.gnu.org/java/和http://vmkit.llvm.org/
其他更长的路径将包括IKVM.NET:
哪个是.NET JVM,可以静态编译为EXE
我自己遇到这个问题后 -
1)创建一个包含应用程序 jar 文件的文件夹
2)创建包含jre的子文件夹
3)创建一个bat文件,该文件在应用程序使用期间覆盖环境变量并将启动您的应用程序:
REM requiered so java wont run into issues with an installed version if one exists
SETLOCAL ENABLEEXTENSIONS
SET JAVA_HOME="./jre"
"./jre/bin/java.exe" -jar "applicationName.jar"
pause
Run Code Online (Sandbox Code Playgroud)
4)使用bat到exe转换器选项包括: https ://listoffreeware.com/6-best-free-bat-exe-converter-software-windows/
第一个选项在这里可用:
https://web.archive.org/web/20190305143030/http://www.f2ko.de/downloads/Bat_To_Exe_Converter.zip
5)创建一个包含该文件夹的exe,并在运行时运行bat文件