Utnyttja Eclipse-baserad tillämpning med Java Web Start

Tillämpningar som bygger på Eclipse kan utplaceras med hjälp av Java Web Start.

Java Web Start "är en tillämpningsutnyttjande teknik som ger styrka att starta tillämpningar med fullständig funktionalitet med hjälp av en enda klickning från webbläsaren".

Kraven för att starta Eclipse från Java Web Start är:

I följande steg beskrivs hur du ställer in en Java Web Start-plats som tar hand om en funktionsbaserad RCP-tillämpning.

Steg 1, skapa en paketeringsfunktion

Steg 2, exportera paketeringsfunktionen och startup.jar.

Obs! Innan du fortsätter med det här steget ser du till att du har ett tillgängligt nyckellager. I Eclipse finns ingen funktion för att skapa nyckellager. Du kan använda tillämpningen keytool som medföljer JDK. Se också till att den Eclipse du använder för utvecklingen körs i Java SDK, i stället för en JRE. Om begränsningen inte följs, misslyckas jar-signeringen.

Steg 3, skapa huvud-JNLP-filen.

En Java Web Start-tillämpning beskrivs med JNLP-filer. De ersätter filerna eclipse.exe och config.ini med en motsvarande mekanism. JNLP har t.ex. en egen mekanism för att styra välkomstskärmen, sätt att överföra parametrar och definiera vad som utgör tillämpningen.

När du exporterade skapades alla enkla JNLP-filer så det som finns kvar är att skriva huvudfilen som styr tillämpningen. Eftersom största delen av huvudfilen är gemensam för alla tillämpningar rekommenderar vi att du börjar från följande självdokumenterande mall.

På den plats som tar hand om tillämpningen måste den här filen finnas i samma mapp som startup.jar. När du är klar med filredigeringen är din tillämpning klar.

<?xml version="1.0" encoding="UTF-8"?>
<jnlp 
    spec="1.0+" 
    codebase="http://myCompany.org/jnlpServer" 
    href="mail.jnlp"> <!-- URL-adress till platsen med jnlp-tillämpningen. Den ska stämma med värdet som används vid export. Href, namnet på den här filen -->
  <information>
    <!-- användarnamn på tillämpningen -->
    <title> Posttillämpning </title>  
    <!-- leverantörsnamn -->
    <vendor>Mitt företag</vendor>
    <!-- leverantörens hemsida --> 
    <homepage href="Mitt företags webbplats" /> 
    <!-- produktbeskrivning -->
    <description>Detta är en postklient</description> 
    <icon kind="splash" href="splash.gif"/>
  </information>
 
  <!--begär all tillhörighet från tillämpningen. Detta förändrar inte-->
  <security>
    <all-permissions/>
  </security>
 
  <!-- Namnet på den "main"-klass som ska köras. Detta förändrar inte-->
  <application-desc main-class="org.eclipse.core.launcher.WebStartMain">
    <argument>-nosplash</argument>
  </application-desc>
 
  <resources>
    <!-- Referens till startup.jar. Detta förändrar inte-->
    <jar href="startup.jar"/>
 
    <!-- Referens till alla insticksprogram och funktioner som utgör tillämpningen -->
    <!-- Här refererar vi till paketeringsfunktionen eftersom den transitivt refererar till alla andra nödvändiga insticksprogram-->
    <extension 
        name="Paketeringsfunktion"
        href="features/Wrappering_1.0.0.jnlp"/>
 
    <!-- Information som vanligen anges i config.ini -->
    <egenskap 
        name="osgi.instance.area" 
        value="@user.home/Application Data/mail"/>
    <egenskap 
        name="osgi.configuration.area" 
        value="@user.home/Application Data/mail"/>
        
    <!-- IDt för produkten som ska köras, hittas på översiktssidan i produktredigeraren -->
    <egenskap 
        name="eclipse.product" 
        value="mail.product"/>
  </resources>

  <!-- Indikera på en plattformsbasis vilken JRE som ska användas --> 
  <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>

Tips! När du har skapat den här filen kan du lagra den i paketeringsfunktionen i samma mapp som startup.jar, så får du en fullständig struktur vid varje export.

Insticksprogrambaserad tillämpning

Även om RCP-tillämpningen inte använder funktioner är det möjligt med Java Web Start.

Vi rekommenderar att du, om du vill göra det, skapar en paketeringsfunktion för att underlätta skapandet av huvud-jnlp-filen och utplaceringen. I den här paketeringsfunktionen visas alla insticksprogram i tillämpningen. När funktionen skapats kopierar du den genererade JNLP-filen och ändrar den så att den blir din huvud-JNLP-fil.

Övrigt

Java-webbstart i Linux

När en Eclipse-tillämpning startas med webbstart i Linux är Motif standardfönstersystem. Om du vill köra GTK måste du ange "gtk" för egenskapen osgi.ws i huvud-jnlp-filen. Du kan till exempel lägga till:

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

Kända begränsningar