2016-07-22 14 views
2

ausführen Meine App ist einfache Swing-basierte App, die starten und Hinzufügen von ico zum Tray. Das ist alles.izPack einfrieren, wenn ich meine Anwendung im Installationsprozess

Wie kann ich meine Anwendung jar nach der Installation mit izPack ausführen? Ich habe versucht, zu verwenden:

<executable stage="postinstall" targetfile="$INSTALL_PATH/core/app.jar"> 
</executable> 

Aber Installation ist einfrieren. enter image description here

Und nächste Teil wird in der Lage sein, wenn ich meine Anwendung schließe. Wie es zu beheben?

Antwort

0

Vielleicht wäre es für jemanden hilfreich. Izpack warten auf das Ende der Anwendung. Es kann nützlich sein, einige Jobs in jar zu behalten, z. B. Dateien von einem Ort zu einem anderen zu verschieben usw. und jar-Anwendung zu schließen. Nach dem izpack entfristen. Aber in meinem Fall muss ich meine Anwendung nach der Installation geöffnet lassen. Also stage = "postinstall" ist nicht korrekt für mich. Ich schrieb sh/bat für Linux/Windows wie:

Unix: 
#!/bin/bash 
$JAVA_HOME/bin/java -jar $INSTALL_PATH/core/updater.jar & 

Windows: 
start javaw -jar "$INSTALL_PATH\core\updater.jar" 

Es öffnet Anwendung und verstecken Terminal/cmd. i

In install.xml hinzufügen:

<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> 

Und 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> 

So Panel Prozess dieser Skripte starten und die Anwendung in der Schale halten.