Wdrażanie aplikacji opartej na środowisku Eclipse przy użyciu technologii Java Web Start

Aplikacje tworzone na platformie Eclipse 3.1 można wdrażać przy użyciu technologii Java Web Start.

Java Web Start jest technologią wdrażania aplikacji umożliwiającą uruchamianie w pełni funkcjonalnych aplikacji jednym kliknięciem opcji w przeglądarce WWW.

Wymagania wstępne do uruchomienia aplikacji Eclipse przy użyciu technologii Java Web Start:

Poniższe kroki opisują sposób skonfigurowania serwisu Java Web Start obsługującego aplikację RCP opartą na składnikach.

Krok 1. Tworzenie składnika opakowującego

Krok 2. Eksportowanie składnika opakowującego i pliku startup.jar

Uwaga: Przed przystąpieniem do wykonania poniższych czynności, należy sprawdzić, czy dostępny jest plik kluczy. Produkt Eclipse nie udostępnia żadnych funkcji tworzenia plików kluczy. Należy użyć w tym celu narzędzia keytool. Ponadto należy sprawdzić, czy używana platforma Eclipse została uruchomiona w środowisku Java SDK, a nie JRE. Jeśli to wymaganie nie zostanie spełnione, podpisywanie pliku JAR zakończy się niepowodzeniem.

Krok 3. Tworzenie głównego pliku jnlp

Aplikacja Java Web Start jest opisana przez pliki JNLP. Zastępują one pliki eclipse.exe i config.ini, udostępniając równoważne mechanizmy. Protokół JNLP ma na przykład własny mechanizm sterujący ekranami startowymi, własne sposoby przekazywania parametrów i definiowania elementów składających się na aplikację.

Podczas eksportowania wszystkie proste pliki JNLP zostały utworzone, należy więc utworzyć jedynie sterujący aplikacją plik główny. Ponieważ większa część pliku głównego jest wspólna dla wszystkich aplikacji, zaleca się rozpocząć jego tworzenie od następującego samodokumentującego się szablonu.

W serwisie obsługującym aplikację plik ten musi się znajdować w tym samym folderze, co plik startup.jar. Aplikacja będzie gotowa po zakończeniu edycji tego pliku.

  <?xml version="1.0" encoding="UTF-8"?>
<jnlp 
    spec="1.0+" 
    codebase="http://firma.org/jnlpServer"
    href="mail.jnlp"> <!-- Adres URL serwisu zawierającego aplikację jnlp. Powinien odpowiadać wartości użytej podczas eksportowania. Odwołanie href określa nazwę tego pliku. -->
  <information>
    <!-- nazwa aplikacji czytelna dla użytkownika -->
    <title> Aplikacja poczty </title>
    <!-- nazwa dostawcy -->
    <vendor>Moja firma</vendor>
    <!-- strona główna dostawcy -->
    <homepage href="Strona główna mojej firmy" />
    <!-- opis produktu -->
    <description>To jest klient pocztowy</description>
    <icon kind="splash" href="splash.gif"/>
  </information>
 
  <!-- Żądaj wszystkich uprawnień od aplikacji. Ten fragment się nie zmienia. -->
  <security>
    <all-permissions/>
  </security>
 
  <!-- Nazwa klasy main do wykonania. Ten fragment się nie zmienia. -->
  <application-desc main-class="org.eclipse.core.launcher.WebStartMain">
    <argument>-nosplash</argument>
  </application-desc>
 
  <resources>
    <!-- Odwołanie do pliku startup.jar. Ten fragment się nie zmienia. -->
    <jar href="startup.jar"/>
 
    <!-- Odwołanie do wszystkich modułów dodatkowych i składników tworzących aplikację. -->
    <!-- Odwołanie do składnika opakowującego, ponieważ jednocześnie odwołuje się do wszystkich innych niezbędnych modułów dodatkowych. -->
<extension
        name="Składnik opakowujący"
        href="features/Wrappering_1.0.0.jnlp"/>
 
    <!-- Informacje zwykle podawane w pliku config.ini. -->
	<property
        name="osgi.instance.area" 
        value="@user.home/Application Data/mail"/>
	<property
        name="osgi.configuration.area" 
        value="@user.home/Application Data/mail"/>
        
    <!-- Identyfikator produktu do uruchomienia, znajdujący się na przykład na stronie przeglądu edytora produktu. -->
	<property
        name="eclipse.product" 
        value="mail.product"/>
  </resources>

  <!-- Wskazanie, którego środowiska JRE używać w zależności od platformy. -->
  <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>

Wskazówki: Po utworzeniu tego pliku można go zapisać w składniku opakowującym w tym samym folderze, co plik startup.jar, dzięki czemu zawsze będzie eksportowana pełna struktura.

Aplikacja oparta na modułach dodatkowych

Choć aplikacja RCP nie używa składników, możliwe jest zastosowanie względem niej technologii Java Web Start.

Aby to zrobić, zaleca się utworzenie składnika opakowującego w celu uproszczenia procesu tworzenia głównego pliku JNLP i ułatwienia wdrażania. Ten składnik opakowujący będzie zawierał listę wszystkich modułów dodatkowych aplikacji. Po zaktualizowaniu składnika należy skopiować wygenerowany plik JNLP i zmienić go tak, aby stał się głównym plikiem JNLP.

Znane ograniczenia