使用本教程: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="jrebinjavaw.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时,它本身会正常打开。
谢谢!
我建议从以前的7-Zip额外包中获得7zSD.sfx。
http://www.7-zip.org/a/7z920_extra.7z