Applikasjoner som bygger på Eclipse, kan distribueres ved hjelp av Java Web Start.
Java Web Start "er en teknologi for applikasjonsdistribuering som med et enkelt klikk i nettleseren, lar deg starte applikasjoner med komplett funksjonalitet".
Følgende krav må oppfylles før du kan starte Eclipse fra Java Web Start:
root=<folderContainingStartup.jar>/
Fil > Eksporter > Plugin-utvikling > Distribuerbare funksjoner.
I veiviseren velger du wrapper-funksjonen og angir hvilken katalog JNLP-applikasjonen skal
eksporteres til før du merker av for Pakker funksjoner og plugin-moduler som
individuelle JAR-arkiver. På neste side i veiviseren fyller du ut med informasjon for nøkkellageret under delen
Signering av JAR-arkiver. I JNLP-delen oppgir du navnet på serveren for applikasjonen og
hvilket JRE-nivå som trengs for å starte applikasjonen. Den siste verdien blir brukt i de genererte JNLP-filene
for å fylle ut verdien for <j2se version="1.4+" /> . Klikk på Fullfør.
site/ (The root of your 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
...
En Java Web Start-applikasjon beskrives av JNLP-filer. De erstatter filene eclipse.exe og config.ini med tilsvarende mekanisme. JNLP har for eksempel en egen mekanisme som styrer oppstartsbildet, overføring av parametere og definisjonen av hva som inngår i applikasjonen.
Da du eksporterte filene ble alle enkle JNLP-filer opprettet, så du trenger bare å skrive hovedfilen som skal styre applikasjonen. Ettersom hovedfilen hovedsakelig er felles for alle applikasjoner, bør du starte fra følgende selvdokumenterte mal.
Filen må ligge i samme mappe som startup.jar, på stedet for applikasjonen. Applikasjonen er klar når du er ferdig med å redigere filen.
<?xml version="1.0" encoding="UTF-8"?>
<jnlp
spec="1.0+"
codebase="http://myCompany.org/jnlpServer"
href="mail.jnlp"> <!-- URL to the site containing the jnlp application. It should match the value used on export. Href, the name of this file -->
<information>
<!-- user readable name of the application -->
<title> Mail Application </title>
<!-- vendor name -->
<vendor>My company</vendor>
<!-- vendor homepage -->
<homepage href="My company website" />
<!-- product description -->
<description>This is a mail client</description>
<icon kind="splash" href="splash.gif"/>
</information>
<!--request all permissions from the application. This does not change-->
<security>
<all-permissions/>
</security>
<!-- The name of the main class to execute. This does not change-->
<application-desc main-class="org.eclipse.core.launcher.WebStartMain">
<argument>-nosplash</argument>
</application-desc>
<resources>
<!-- Reference to the startup.jar. This does not change -->
<jar href="startup.jar"/>
<!-- Reference to all the plugins and features constituting the application -->
<!-- Here we are referring to the wrapper feature since it transitively refers to all the other plug-ins necessary -->
<extension
name="Wrapper feature"
href="features/Wrappering_1.0.0.jnlp"/>
<!-- Information usually specified in the config.ini -->
<property
name="osgi.instance.area"
value="@user.home/Application Data/mail"/>
<property
name="osgi.configuration.area"
value="@user.home/Application Data/mail"/>
<!-- The id of the product to run, like found in the overview page of the product editor -->
<property
name="eclipse.product"
value="mail.product"/>
</resources>
<!-- Indicate on a platform basis which JRE to use -->
<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 opprettet filen, kan du lagre den i wrapper-funksjonen i samme mappe som startup.jar, slik at du får den komplette strukturen hver gang du eksporterer.
Selv om RCP-applikasjonen ikke bruker funksjoner, er dette mulig med Java Web Start.
Hvis du vil gjøre dette, bør du opprette en wrapper-funksjon for å forenkle opprettelsen av JNLP-hovedfilen og distribusjonen. Wrapper-funksjonen viser alle plugin-modulene i applikasjonen. Når funksjonen er oppdatert, kopierer du den genererte JNLP-filen og endrer den slik at den blir JNLP-hovedfilen.
Nå en Eclipse-applikasjon startes med Web Start på Linux, er standard vindusteknikksysten motiv. Hvis du vil kjøre GTK, må du definere egenskapen osgi.ws to "gtk" i JNLP-hovedfilen. Du kan for eksempel legge til
<resources os="Linux"/>
<property name="osgi.ws" value="gtk"/>
</resources>