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>/
<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>