Wie rufen Sie eine Methode von einer Java-Klasse von IzPack auf? Statische Methoden sind OK, und ich muss in der Lage sein, Parameter zu übergeben.
Danke!
Hintergrundinfo:
Ich versuche, ein IzPack-Installationsprogramm zu schreiben, das eine zuvor installierte Version der Anwendung erkennen kann. Nachdem ich herausgefunden habe, dass es diese Funktion nicht wirklich unterstützt (außer in Windows), denke ich, dass der einzige Weg dies zu tun ist, indem ich eine Java-Klasse schreibe und sie von IzPack aus aufrufen.
Tim Williscroft hat zuvor vorgeschlagen diese Methode, die den Wert eines statischen Feldes einer Klasse liest:
%Vor% Ist es jedoch möglich, <java>
von einem anderen Ort als einem <condition>
-Tag aufzurufen? Ich möchte es von einem <variable>
-Tag aus aufrufen können.
Ist es auch möglich, eine Methode von einer Java-Klasse aufzurufen, anstatt einen Wert eines Feldes zu lesen? Ich möchte Parameter an meine Klasse übergeben können.
Sie können statische Methoden aufrufen, aber ich denke nicht, dass Sie Parameter übergeben können. Sie konnten einen neuen 'Bedingungstyp' erstellen, aber ich habe keine Erfahrung damit, daher kann ich die Flexibilität nicht bestätigen ...
Also, ich habe keine direkte Antwort, aber einen anderen Vorschlag, der helfen könnte:
Ich tendiere dazu, jede komplexe Nachbearbeitung an separate Prozesse zu übergeben.
Haben Sie das Processing Panel untersucht? Sie können einen beliebigen Prozess starten und Variablen übergeben.
z.B.
%Vor%Ich habe es verwendet, um Dienste einzurichten und sofort zu starten. Derartiges. Stellen Sie nur sicher, dass Ihr Skript sauber beendet wird, sonst hängt IzPack.
Siehe hier: Ссылка
Ich habe erfolgreich ein IzPack-Installationsprogramm konfiguriert, das während der Installation eine "bat" -Datei (mit einem Parameter) ausführt, um einen Lizenzanforderungscode zu generieren. Zuerst musste ich sicherstellen, dass die Bat-Datei in den vom Benutzer gewählten $ INSTALL_PATH kopiert wurde, und in der IzPack install.xml fügte ich ein ProcessPanel nach dem InstallPanel hinzu (wo alle Dateien, einschließlich der "Fledermaus", kopiert werden) ). Meine ProcessPanel.Spec.xml sieht so aus:
%Vor%