Развертывание приложений, основанных на Eclipse, в Java Web Start

Приложения, созданные на основе Eclipse 3.1, могут развертываться с помощью Java Web Start.

Java Web Start - это технология развертывания приложений, позволяющая запускать полнофункциональные приложения одним щелчком в web-браузере.

Требования для использования этой технологии:

Далее описывается настройка сайта Java Web Start, обслуживающего приложение RCP, основанное на комплектах.

Шаг 1, создание комплекта-оболочки

Шаг 2, экспорт комплекта-оболочки и startup.jar

Примечание. Для этого шага вам потребуется хранилище ключей. Eclipse не может создавать их, поэтому вам потребуется утилита keytool. Также, убедитесь в том, что Eclipse запущен в Java SDK, а не в JRE. Без этого подписание будет невозможно.

Шаг 3, создание главного файла jnlp

Приложение Java Web Start описывается файлами JNLP. Они представляют собой замену файлам eclipse.exe и config.ini. Например, JNLP имеет собственный механизм управления заставкой, отображаемой при запуске, механизм передачи параметров и определения элементов, составляющих приложение.

Все простые файлы JNLP создаются во время экспортирования, так что осталось создать вручную только главный файл, который будет управлять приложением. Т.к. большая часть файла одинакова для всех приложений, начните с приведенного ниже шаблона.

На сайте, обслуживающем ваше приложение, этот файл должен находиться в одном каталоге с startup.jar. Ваше приложение будет готово как только вы закончите редактировать этот файл.

<?xml version="1.0" encoding="UTF-8"?>
<jnlp 
    spec="1.0+" 
    codebase="http://myCompany.org/jnlpServer" 
    href="mail.jnlp"> <!-- URL сайта с приложением jnlp. Он должен совпадать со значением, введенным при экспорте -->
  <information>
    <!-- удобочитаемое название приложения -->
    <title> Mail Application </title>  
    <!-- поставщик -->
    <vendor>My company</vendor>
    <!-- сайт поставщика -->
    <homepage href="My company website" /> 
    <!-- описание продукта -->
    <description>This is a mail client</description> 
    <icon kind="splash" href="splash.gif"/>
  </information>
 
  <!-- запрос прав доступа из приложения - изменять не нужно -->
  <security>
    <all-permissions/>
  </security>
 
  <!-- главный класс, с которого будет начинаться выполнение - изменять не нужно -->
  <application-desc main-class="org.eclipse.core.launcher.WebStartMain">
    <argument>-nosplash</argument>
  </application-desc>
 
  <resources>
    <!-- ссылка на startup.jar - изменять не нужно -->
    <jar href="startup.jar"/>
 
    <!-- ссылки на все модули и комплекты, составляющие приложение -->
    <!-- здесь указывается только комплект-оболочка, содержащий в себе все  остальные комплекты -->
   <extension
        name="Wrappering feature"
        href="features/Wrappering_1.0.0.jnlp"/>
 
    <!-- данные из config.ini -->
    <property 
        name="osgi.instance.area" 
        value="@user.home/Application Data/mail"/>
    <property 
        name="osgi.configuration.area" 
        value="@user.home/Application Data/mail"/>
        
    <!-- идентификатор продукта, как задано на странице Обзор в редакторе  продуктов -->
    <property 
        name="eclipse.product" 
        value="mail.product"/>
  </resources>

  <!-- JRE для каждой платформы -->
  <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>

Совет: сохраните этот файл в комплекте-оболочке в одном каталоге с startup.jar, чтобы использовать его при следующем экспорте.

Приложения, основывающиеся на модулях

Приложения, основывающиеся на модулях, также могут быть развертываться с помощью Java Web Start.

Для этого необходимо использовать комплект-оболочку, инкапсулирующий все модули вашего приложения. Скопируйте созданный файл JNLP и измените его, сделав его главным.

Известные ограничения