Anwendungen, die auf Eclipse aufbauen, können mithilfe der Technologie "Java-Webstart" implementiert werden.
Java-Webstart "ist eine Anwendungsimplementierungstechnologie, die Ihnen Möglichkeit bietet, mit vielen Funktionen ausgestattete Anwendungen mit einem einzigen Klick von Ihrem Web-Browser aus zu starten".
Die Voraussetzungen für einen Start von Eclipse von Java-Webstart aus sind:
root=<folderContainingStartup.jar>/
Datei > Exportieren > Plug-in-Entwicklung > Implementierbare Features aus.
Wählen Sie im Assistenten das Wrapper-Feature aus, wählen Sie das "Verzeichnis" aus, in das Ihre JNLP-Anwendung exportiert werden soll, und aktivieren Sie die Option "Paketfeatures und Plug-ins als einzelne JAR-Archive". Geben Sie auf der nächsten Seite des Assistenten die Informationen in Bezug auf Ihren Schlüsselspeicher im Abschnitt "JAR-Archive signieren" an. Geben Sie dann im Abschnitt "JNLP" den Namen des Servers ein, der Ihre Anwendung startet, sowie die für den Start Ihrer Anwendung erforderliche JRE-Ebene. Letzterer Wert wird auch in den generierte JNLP-Dateien verwendet, um den Wert für <j2se version="1.4+" /> auszufüllen. Klicken Sie auf "Fertig stellen".
site/ (Stammverzeichnis Ihrer JNLP-Site)
startup.jar
features/
WrapperingFeature_1.0.0.jar
WrapperingFeature_1.0.0.jnlp
com.xyz.abc_1.0.0.jar
com.xyz.abc_1.0.0.jnlp
...
plugins/
org.eclipse.core.runtime_3.1.0.jar
com.foo.baz_1.0.0.jnlp
...
Eine Java-Webstart-Anwendung wird durch JNLP-Dateien beschrieben. Diese ersetzen die Dateien eclipse.exe und config.ini durch einen funktional entsprechenden Mechanismus. JNLP verfügt beispielsweise über seinen eigenen Mechanismus zur Steuerung von Eingangsanzeigen, Arten der Übergabe von Parametern und Definition dessen, woraus sich die Anwendung zusammensetzt.
Bei dem Exportiervorgang wurde bereits alle einfachen JNLP-Dateien erstellt, so dass Sie lediglich noch die Hauptdatei zur Steuerung der Anwendung schreiben müssen. Da der Großteil der Hauptdatei für alle Anwendungen gleich ist, wird empfohlen, dass Sie mit der nachfolgenden selbst-dokumentierten Vorlage beginnen.
Auf der Site, die Ihre Anwendung startet, muss sich die Datei im gleichen Ordner befinden, wie die Datei "startup.jar". Nachdem Sie die Bearbeitung dieser Datei abgeschlossen haben, ist Ihre Anwendung einsatzbereit.
<?xml version="1.0" encoding="UTF-8"?>
<jnlp
spec="1.0+"
codebase="http://myCompany.org/jnlpServer"
href="mail.jnlp"> <!-- URL der Site mit der JNLP-Anwendung. Sollte mit dem für den Export verwendeten Wert übereinstimmen. Href, der Name dieser Datei -->
<information>
<!-- Vom Benutzer lesbarer Name der Anwendung -->
<title> Mailanwendung</title>
<!-- Anbietername -->
<vendor>Mein Unternehmen</vendor>
<!-- Anbieter-Homepage -->
<homepage href="Meine Unternehmenswebsite" />
<!-- Produktbeschreibung-->
<description>Dies ist ein Mail-Client</description>
<icon kind="splash" href="splash.gif"/>
</information>
<!--Alle Genehmigungen von der Anwendung anfordert. Bleibt unverändert-->
<security>
<all-permissions/>
</security>
<!-- Name der auszuführenden Hauptklasse. Bleibt unverändert-->
<application-desc main-class="org.eclipse.core.launcher.WebStartMain">
<argument>-nosplash</argument>
</application-desc>
<resources>
<!-- Verweis auf startup.jar. Bleibt unverändert -->
<jar href="startup.jar"/>
<!-- Verweis auf alle Plug-ins und Features, aus denen sich die Anwendung zusammensetzt -->
<!-- Hier wird auf das Wrapper-Feature verwiesen, da es transitiv auf alle anderen notwendigen Plug-ins verweist-->
<extension
name="Wrapper feature"
href="features/Wrappering_1.0.0.jnlp"/>
<!-- Normalerweise in config.ini angegebene Informationen -->
<property
name="osgi.instance.area"
value="@user.home/Application Data/mail"/>
<property
name="osgi.configuration.area"
value="@user.home/Application Data/mail"/>
<!-- Die ID des auszuführenden Produkts, wie auf der Übersichtsseite des Produkteditors dargestellt -->
<property
name="eclipse.product"
value="mail.product"/>
</resources>
<!-- Angabe auf Plattformbasis, welche JRE verwendet werden soll -->
<resources os="Mac">
<j2se version="1.5+" java-vm-args="-XstartOnFirstThread"/>
</resources>
<resources os="Windows">
<j2se version="1.4+"/>
</resources>
<resources os="Linux">
<j2se version="1.4+"/>
</resources>
</jnlp>
Tipp: Nachdem Sie diese Datei erstellt haben, können Sie sie im Wrapper-Feature im gleichen Ordner speichern, in dem sich auch die Datei "startup.jar" befindet. So erhalten Sie bei jedem Exportvorgang die vollständige Struktur.
Obwohl Ihre RCP-Anwendung keine Features verwendet, ist ein Start mit Java-Webstart dennoch möglich.
Hierfür wird empfohlen, ein Wrapper-Feature zu erstellen, um die Erstellung der Haupt-JNLP-Datei sowie die Implementierung zu erleichtern. Dieses Wrapper-Feature listet alle Plug-ins Ihrer Anwendung auf. Sobald das Feature aktualisiert wurde, kopieren Sie die generierte JNLP-Datei und ändern Sie sie so ab, dass sie zu Ihrer Haupt-JNLP-Datei wird.
Wenn unter Linux eine Eclipse-Anwendung mit Webstart gestartet wird, wird standardmäßig die Fenstertechnik "motif" verwendet. Falls Sie GTK ausführen wollen, müssen Sie die Eigenschaft "osgi.ws" in der JNLP-Hauptdatei auf "gtk" setzen. Sie können beispielsweise Folgendes hinzufügen:
<resources os="Linux"/>
<property name="osgi.ws" value="gtk"/>
</resources>