使用本教程: http: //mark.koli.ch/bundle-java-the-jre-and-launch-a-java-app-with-7zip-sfx
我正在尝试将 jre 和我的 .jar 放在一起,以生成单个可执行文件,因此不需要 JRE 来启动我的应用程序。
我使用 Eclipse 将我的项目导出到一个可执行的 app.jar 文件中。(文件-导出-jar,可执行jar)。然后,我将 jre 和 app.jar 压缩在一起:
app.7z:
- jre folder
- app.jar
我的 app.tag 包含以下内容:
;!@Install@!UTF-8!
Title="7ZIP Java Launcher Example"
ExtractDialogText="Extracting ..."
GUIFlags="32"
ExtractTitle="Extracting"
FinishMessage="Application stopped."
RunProgram="jre\bin\javaw.exe -jar app.jar \"%%S\" \"%%T\""
;!@InstallEnd@!
然后,我将 app.tag、app.7z 和 7zSD.sfx 放入同一个文件夹并使用以下命令行:
C:\> copy /b 7zSD.sfx + app.tag + app.7z start.exe
文件 start.exe 已创建。当我打开它时,它说“正在提取...”,但总是会启动“应用程序停止”。我不知道为什么会这样。我检查了 Windows 文件夹的 TEMP,所有内容都正确提取。
知道我做错了什么吗?当我双击它时,.jar 本身将正常打开。
谢谢!