Auto-Update für Java-Programme: Unterschied zwischen den Versionen

Aus Byte-Welt Wiki
Zur Navigation springenZur Suche springen
K (Interface definieren)
K (Interface definieren)
 
(6 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
[[Kategorie:Java]]
+
[[Kategorie:Tutorials (Java)]]
  
 
=Einleitung=
 
=Einleitung=
Zeile 7: Zeile 7:
 
Java stellt mit [[Java Web Start (TM)|Java Web Start™]] bereits einen guten, funktionierenden Mechanismus für Download, Installation, Update und Start von Java-Anwendungen bereit.
 
Java stellt mit [[Java Web Start (TM)|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 [[Java Applets und Java Web Start-Anwendungen starten - ab Java 7 Update 51|Sicherheitseinstellungen der JRE, die das Starten verhindern]].
 
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 [[Java Applets und Java Web Start-Anwendungen starten - ab Java 7 Update 51|Sicherheitseinstellungen der JRE, die das Starten verhindern]].
 +
 +
<span style="Color: darkred;">In Java 11 wird Java Web Start&trade; aus dem JDK entfernt. Zukünfige Projekte werden daher einen eigenen Update-Mechanismus brauchen.</span>
  
 
Für die, die nach Alternativen suchen, wurde dieser Artikel verfasst.
 
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.
 
Schrittweise werden wir im Folgenden einen Updater für Java-Programme bauen, erweitern und verbessern.
 
{{In Arbeit}}
 
  
 
Überlegen wir uns nun also, welche Funktionen ein Programm zum Update eines Java-Programms bereit stellen sollte.
 
Überlegen wir uns nun also, welche Funktionen ein Programm zum Update eines Java-Programms bereit stellen sollte.
Zeile 21: Zeile 21:
 
* Starten der neuen Programmversion.
 
* Starten der neuen Programmversion.
  
Diese Funktionen lassen sich als Methoden in einem Interface definieren, welche dann in einer Klasse implementiert bzw. ausprogrammiert werden.
+
Diese Funktionen lassen sich als [[Methode|Methoden]] in einem [[Interface]] definieren, welche dann in einer [[Klasse]] implementiert bzw. ausprogrammiert werden.
  
 
=Interface definieren=
 
=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.
 
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.
  
<code=java>
+
<syntaxhighlight lang="java">
 
public interface BasicUpdater {
 
public interface BasicUpdater {
  
   public void checkVersion();
+
   public void checkForNewVersion();
  
 
   public boolean isJreCompatible();
 
   public boolean isJreCompatible();
Zeile 37: Zeile 37:
 
   public void replaceOldVersion();
 
   public void replaceOldVersion();
  
   public void startNewVersion();
+
   public void restart();
  
 
}
 
}
</code=java>
+
</syntaxhighlight>
  
 
=Updater ausprogrammieren=
 
=Updater ausprogrammieren=
 +
 +
{{In Arbeit}}
  
 
=Einbau in ein bestehendes Programm=
 
=Einbau in ein bestehendes Programm=
  
 
{{Fragen stellen}}
 
{{Fragen stellen}}

Aktuelle Version vom 8. Januar 2019, 15:06 Uhr


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.