2016-04-19 13 views
1

Ich habe eine Lösung im Hinterkopf, weiß aber nicht, wie dies nativ in install4j zu erreichen ist.Beibehalten eines Ordners und seines Inhalts während eines Installationsupdates

Ich habe einen Ordner mit einem Repository von Artefakten (ähnlich dem .m2-Repository-Ordnerschema von Maven), wo die Dateinamen während der Maven-Kompilierung eindeutig generiert werden (Zeitstempel).

z. ./install-dir/artifacts/app-core/jar/1.2-t20160419183129/app-core-1.2-t20160419183129.jar

Nach dem Ausführen eines Installationsprogramms mit "Update existing installation" aktiviert, wird install4j diese Dateien anhängen und die ältere zeitgestempelte Version dieses Artefakts beibehalten. Ich verstehe, dass dies kein Fehler ist und funktioniert wie beabsichtigt. So wird Endergebnis wie folgt aussehen:

./install-dir/artifacts/app-core/jar/1.2-t20160415154633/app-core-1.2-t20160415154633.jar 
./install-dir/artifacts/app-core/jar/1.2-t20160419183129/app-core-1.2-t20160419183129.jar 

Nichts in diesen Dateien geändert, aber der Zeitstempel, der während der Kompilierung generiert wurde. Also gibt es eine Methode, die ich innerhalb von install4j angehen kann, die überprüft, ob die oben erwähnte Komponente neuer ist als das Gegenstück des Installers. Es müsste den Zeitstempel ignorieren und nur die Versionsnummer und MD5-Prüfsumme berücksichtigen.

Momentan entferne ich den Ordner artifacts komplett und ersetze ihn durch die Installer-Version. Aber das ist ein aggressiver Ansatz, von dem ich hoffentlich wegwandere.

Antwort

1

Momentan entferne ich den Ordner Artefakte komplett und ersetze ihn mit der Installer-Version. Allerdings ist das ein aggressiver Ansatz, den ich von weg migrieren möchte.

Ich würde bei dieser Strategie bleiben. Was passiert, wenn eine JRE-Datei in einer neuen Version entfernt wird? Wenn Sie nur Aktualisierungen ohne den Zeitstempel anpassen würden, verbleiben die alten JAR-Dateien in der Installation und im Klassenpfad.

Ansonsten gibt es in install4j (ab 6.1) kein Feature, mit dem Sie das Update auf diese Weise durchführen könnten.

+0

Okay. Das ist was ich dachte. Danke Ingo. – user0000001

Verwandte Themen