Auto-Update für Java-Programme

Aus Byte-Welt Wiki
Zur Navigation springenZur Suche springen


Einleitung

Wie der Titel des Artikels bereits andeutet, wird es in diesem Beitrag darum gehen, wie man in Java-Programmen eine automatische Update-Funktion bereit stellen kann.

Vorüberlegungen

Java stellt mit Java Web Start™ bereits einen guten, funktionierenden Mechanismus für Download, Installation, Update und Start von Java-Anwendungen bereit. Aber nicht jeder mag sich damit anfreunden, oder es werden nicht alle Anforderungen erfüllt, sei es durch fehlende Resourcen oder vom Mechanismus an sich, bspw. durch Sicherheitseinstellungen der JRE, die das Starten verhindern.

In Java 11 wird Java Web Start™ aus dem JDK entfernt. Zukünfige Projekte werden daher einen eigenen Update-Mechanismus brauchen.

Für die, die nach Alternativen suchen, wurde dieser Artikel verfasst. Schrittweise werden wir im Folgenden einen Updater für Java-Programme bauen, erweitern und verbessern.

Überlegen wir uns nun also, welche Funktionen ein Programm zum Update eines Java-Programms bereit stellen sollte.

  • Erkennen, dass eine neuere Version des Programms bereit gestellt wurde, vielleicht auch eine Information oder Hinweis darüber für den Benutzer ausgeben.
  • Vielleicht wäre es auch gut, zu prüfen, ob eine passende JRE auf dem Zielsystem installiert ist und dass der Benutzer bei negativem Prüfergebnis darüber informiert wird.
  • Wenn der Benutzer einem Update zustimmt, soll der Updater die aktuelle Version von einer Netz-Resource auf den Computer des Benutzers herunterladen.
  • Installation der aktuellen Programmversion bzw. Ersetzen der älteren Version mit der aktuellen Version des Programms. (Vorher sollte noch die ältere Programmversion beendet werden.)
  • Starten der neuen Programmversion.

Diese Funktionen lassen sich als Methoden in einem Interface definieren, welche dann in einer Klasse implementiert bzw. ausprogrammiert werden.

Interface definieren

Das Interface wird mit Hilfe der im vorigen Kapitel gemachten Vorüberlegungen definiert, "sprechende" Methodennamen sorgen für Klarheit und Verständnis. Trotzdem sollte eine vernünftige Dokumentation der Methoden keinesfalls fehlen.

public interface BasicUpdater {

   public void checkForNewVersion();

   public boolean isJreCompatible();

   public void downloadLatestVersion();

   public void replaceOldVersion();

   public void restart();

}

Updater ausprogrammieren

Baustelle.png Dieser Beitrag wird derzeit noch bearbeitet. Der Text ist deshalb unvollständig und kann Fehler oder ungeprüfte Aussagen enthalten.

Einbau in ein bestehendes Programm

Fragen

Das Thema wurde nicht ausreichend behandelt? Du hast Fragen dazu und brauchst weitere Informationen? Lass Dir von uns helfen!

Wir helfen dir gerne!


Dir hat dieser Artikel gefallen? Oder Du hast Fehler entdeckt und möchtest zur Berichtigung beitragen? Prima! Schreibe einen Kommentar!

Du musst angemeldet sein, um einen Kommentar abzugeben.