也許這對別人有幫助。 Izpack等待申請的結束。在jar中保存一些作業是非常有用的,比如將文件從一個地方移動到另一個地方等,然後關閉jar應用程序。在那之後izpack不吱聲。 但在我的情況下,我需要保持我的應用程序在安裝後打開。 因此stage =「postinstall」對我來說不正確。 我寫的sh /蝙蝠Linux/Windows的,如:
Unix:
#!/bin/bash
$JAVA_HOME/bin/java -jar $INSTALL_PATH/core/updater.jar &
Windows:
start javaw -jar "$INSTALL_PATH\core\updater.jar"
它打開的應用程序和隱藏終端/ CMD。
在INSTALL.XML我補充一下:
<panels>
<panel classname="ProcessPanel"/>
</panels>
<resources>
<res id="ProcessPanel.Spec.xml" src="ProcessPanel.Spec.xml"/>
</resources>
<packs>
<pack name="core" required="yes">
<fileset dir="resources/windows/scripts"
targetdir="$INSTALL_PATH/core/scripts">
<os family="windows"></os>
</fileset>
<fileset dir="resources/linux/scripts"
targetdir="$INSTALL_PATH/core/scripts">
<os family="unix"></os>
</fileset>
<executable targetfile="$INSTALL_PATH/core/scripts/run.sh" keep="true">
<os family="unix"></os>
</executable>
</pack>
</packs>
而且ProcessPanel.Spec.xml:
<?xml version="1.0" encoding="UTF-8" ?>
<izpack:processing version="5.0" xmlns:izpack="http://izpack.org/schema/processing" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://izpack.org/schema/processing http://izpack.org/schema/5.0/izpack-processing-5.0.xsd">
<job name="RunWindows">
<os family="windows" />
<executefile name="$INSTALL_PATH/core/scripts/run.bat" />
</job>
<job name="RunUnix">
<os family="unix" />
<executefile name="$INSTALL_PATH/core/scripts/run.sh" />
</job>
所以工藝面板啓動這個腳本,並在托盤保存應用程序。