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