Een Eclipse-toepassing in gebruik nemen met Java Web Start

Toepassingen die zijn gebouwd op basis van Eclipse kunnen in gebruik worden genomen met Java Web Start.

Java Web Start is een technologie voor het in gebruik nemen van toepassingen, waarmee u de mogelijkheid krijgt volledig functionele toepassingen te starten vanaf uw webbrowser met een enkelvoudige klik.

De vereisten voor het opstarten van Eclipse met Java Web Start zijn de volgende:

In de volgende stappen wordt beschreven hoe een Java Web Start-site wordt ingesteld waarbij de feature-RCP-toepassing wordt geïntroduceerd.

Stap 1, een wrapperfeature maken

Stap 2, wrapperfeature en startup.jar exporteren

Opmerking. Voordat u verdergaat met deze stap, moet u ervoor zorgen dat u een sleutelbestand tot uw beschikking hebt. Eclipse levert geen faciliteiten voor het maken van sleutelbestanden. U kunt de keytool-toepassing gebruiken die bij de JDK wordt geleverd. Zorg er ook voor dat de Eclipse-instance waarmee u aan het ontwikkelen bent met een Java SDK wordt uitgevoerd en niet met een JRE. Als niet wordt voldaan aan deze voorwaarde, mislukt het ondertekenen van het JAR-bestand.

Stap 3, het JNLP-hoofdbestand maken

Een Java Web Start-toepassing wordt beschreven door JNLP-bestanden. Deze vervangen de bestanden eclipse.exe en config.ini door een gelijkwaardig mechanisme. JNLP bijvoorbeeld beschikt over een eigen mechanisme voor het beheren van het beginscherm, voor het doorgeven van parameters en voor het definiëren van waaruit de toepassing bestaat.

Als u de export hebt uitgevoerd, zijn alle eenvoudige JNLP-bestanden gemaakt en rest u het schrijven van het hoofdbestand dat de toepassing beheert. Omdat het grootste gedeelte van het hoofdbestand gemeenschappelijk is voor alle toepassingen, wordt aangeraden dit te starten vanaf de volgende zelf-gedocumenteerde sjabloon.

Op de locatie die uw toepassing bedient, moet het bestand zich bevinden in dezelfde map als startup.jar. Wanneer u klaar bent met het bewerken van dit bestand, is uw toepassing gereed.

<?xml version="1.0" encoding="UTF-8"?>
<jnlp 
    spec="1.0+" 
    codebase="http://myCompany.org/jnlpServer" 
    href="mail.jnlp"> <!-- URL naar de site met de JNLP-toepassing. Deze moet overeenkomen met de waarde die is gebruikt bij het exporteren. Href: de naam van dit bestand -->
  <information>
    <!-- naam van de toepassing voor weergave aan de gebruiker -->
    <title> Mailtoepassing </title>
    <!-- naam van leverancier -->
    <vendor>Mijn bedrijf</vendor>
    <!-- homepage van leverancier -->
    <homepage href="Website van mijn bedrijf" />
    <!-- productbeschrijving -->
    <description>Dit is een mailclient.</description>
    <icon kind="splash" href="splash.gif"/>
  </information>
 
  <!--alle bevoegdheden aanvragen van de toepassing; onveranderlijk -->
  <security>
    <all-permissions/>
  </security>
 
  <!-- De naam van de hoofdklasse die moet worden verwerkt. Deze wordt niet gewijzigd. -->
  <application-desc main-class="org.eclipse.core.launcher.WebStartMain">
    <argument>-nosplash</argument>
  </application-desc>
 
  <resources>
    <!-- Verwijzing naar startup.jar. Deze wordt niet gewijzigd. -->
    <jar href="startup.jar"/>
 
    <!-- Verwijzing naar alle plugins en features die samen de toepassing vormen -->
    <!-- Hier wordt verwezen naar de wrapperfeature omdat deze transitief naar alle andere vereiste plugins verwijst -->
    <extension 
        name="Wrapperfunctie"
        href="features/Wrappering_1.0.0.jnlp"/>
 
    <!-- Informatie meestal opgegeven in config.ini -->
<property
        name="osgi.instance.area" 
        value="@user.home/Application Data/mail"/>
<property
        name="osgi.configuration.area" 
        value="@user.home/Application Data/mail"/>
        
    <!-- Het ID van het product dat wordt uitgevoerd, zoals aangetroffen op de overzichtspagina van de producteditor -->
<property
        name="eclipse.product" 
        value="mail.product"/>
  </resources>

  <!-- Op platformbasis aangeven welke JRE moet worden gebruikt -->
  <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>

Tip: wanneer u dit bestand hebt gemaakt, kunt u het in de wrapperfeature in dezelfde map opslaan als startup.jar, zodat u bij iedere export dezelfde volledige structuur krijgt.

Toepassing op basis van plugins

Ook al worden door uw RCP-toepassing geen features gebruikt, kan de toepassing wel worden gestart met Java Web Start.

Als u dit wilt doen, maakt u een wrapperfeature om het maken van een JNLP-hoofdbestand gemakkelijker te maken en de ingebruikname te vereenvoudigen. Deze wrapperfeature maakt een lijst van alle plugins van uw toepassing. Wanneer de feature is bijgewerkt, kopieert u het gegenereerde JNLP-bestand en wijzigt u het zodat het bestand het JNLP-hoofdbestand wordt.

Diversen

Java Web Start in Linux

Wanneer een Eclipse-toepassing wordt gestart met Web Start in Linux, is motif het standaard Windows-systeem. Als u GTK wilt uitvoeren, moet u de eigenschap osgi.ws op "gtk" instellen in het JNLP-hoofdbestand. U kunt bijvoorbeeld het volgende toevoegen:

  <resources os="Linux"/>
        <property name="osgi.ws" value="gtk"/>
  </resources>

Bekende beperkingen