Programmer, der er bygget på Eclipse 3.1, kan distribueres vha. Java Web Start.
Java Web Start "er en programudviklingsteknologi, der giver dig mulighed for at starte komplette programmer ved et enkelt klik fra webbrowseren".
Forudsætningerne for at starte Eclipse from Java Web Start er:
root=<folderContainingStartup.jar>/
Fil > Eksportér > Plugin-udvikling > Distribuérbare funktioner.
I guiden skal du vælge pakkefunktionen, vælge den "biblioteks"-indstilling, du vil eksportere JNLP-programmet til, og vælge indstillingen "Pak funktioner og plugins som individuelle JAR-arkiver". På den næste side i guiden skal du udfylde de oplysninger, der er relevante for dit nøglelager
i afsnittet "Signerer JAR-arkiver". I "JNLP-afsnit" skal du angive navnet på den server, der skal betjene programmet, og det JRE-niveau, der kræves for at starte programmet. Den sidste værdi bruges til at generere JNLP-filer for at udfylde værdien af <j2se version="1.4+" /> . Klik på Afslut.
site/ (Roden til jnlp-webstedet)
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
...
Et Java Web Start-program beskrives af JNLP-filer. De erstatter filerne eclipse.exe og config.ini vha. en lignende mekanisme. JNLP har f.eks. sin egen mekanisme til at styre åbningsskærmbilledet, måder til at overføre parametre på og måder til at definere, hvad programmet består af.
Da du udførte eksporten, blev alle simple JNLP-filer oprettet, så det, der mangler, er at skrive hovedfilen, som skal styre programmet. Fordi størstedelen af hovedfilen er fælles for alle programmer, anbefales det at starte fra følgende skabelon, som du selv har dokumenteret.
Filen skal være placeret i den samme folder som startup.jar på det websted, hvorfra programmet betjenes. Når du er færdig med at redigere denne fil, er programmet klart.
<?xml version="1.0" encoding="UTF-8"?>
<jnlp
spec="1.0+"
codebase="http://myCompany.org/jnlpServer"
href="mail.jnlp"> <!-- URL til webstedet indeholder jnlp-programmet. Den skal matche den værdi, der blev benyttet ved eksport. Href er navnet på denne fil -->
<information>
<!-- navn på program, som kan læses af brugeren -->
<title> Postprogram </title>
<!-- leverandørnavn -->
<vendor>Min virksomhed</vendor>
<!-- leverandørhjemmeside -->
<homepage href="Min virksomheds websted" />
<!-- produktbeskrivelse -->
<description>Dette er en postklient</description>
<icon kind="splash" href="splash.gif"/>
</information>
<!--anmod om alle tilladelser fra programmet. Dette ændres ikke-->
<security>
<all-permissions/>
</security>
<!-- Navnet på den overordnede klasse, der skal udføres. Dette ændres ikke-->
<application-desc main-class="org.eclipse.core.launcher.WebStartMain">
<argument>-nosplash</argument>
</application-desc>
<resources>
<!-- Reference til startup.jar. Dette ændres ikke -->
<jar href="startup.jar"/>
<!-- Reference til alle plugins og funktioner, som udgør programmet -->
<!-- Her refereres til indpakningsfunktionen, da den transitivt refererer til alle andre nødvendige plugins -->
<extension
name="Indpakningsfunktion"
href="features/Wrappering_1.0.0.jnlp"/>
<!-- Oplysninger er som regel angivet i config.ini -->
<property
name="osgi.instance.area"
value="@user.home/Application Data/mail"/>
<property
name="osgi.configuration.area"
value="@user.home/Application Data/mail"/>
<!-- ID'en til det produkt, der skal udføres. Like findes på oversigtssiden til produkteditoren -->
<property
name="eclipse.product"
value="mail.product"/>
</resources>
<!-- Angiv på en platformbase, hvilken JRE der skal bruges -->
<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: Når du har oprettet denne fil, kan du gemme den i indpakningsfunktionen i den samme folder som startup.jar. Så har du den komplette struktur ved hver eksport.
Selvom RCP-programmet ikke benytter funktioner, er det muligt at starte den vha. Java Web Start.
Hvis du vil gøre det, anbefales det at oprette en indpakningsfunktion for at lette oprettelsen af hoved-JNLP-filen og for at lette distributionen. Denne indpakningsfunktion indeholder en liste over alle programmets plugins. Når først funktionen er opdateret, skal du kopiere den genererede JNLP-fil og redigere den, så den bliver hoved-JNLP-filen.
Når et Eclipse-program startes med webstart på Linux, er standardvinduessystemet motiv. Hvis du vil udføre GTK, skal du angive egenskaben osgi.ws som "gtk" i hoved-JNLP-filen. Du kan f.eks. tilføje:
<resources os="Linux"/>
<property name="osgi.ws" value="gtk"/>
</resources>