Развертывание приложения Eclipse посредством Java Web Start

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

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

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

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

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

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

Примечание. Для этого шага вам потребуется хранилище ключей. Eclipse не может создавать их. Для этого можно использовать приложение keytool, поставляемое вместе с JDK. Также, убедитесь в том, что 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="Wrapper 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 и развертывание. Этот комплект-оболочка инкапсулирует все модули приложения. Скопируйте созданный файл JNLP и измените его, сделав его главным.

Прочее

Java Web Start в системе linux

Когда приложение eclipse запускается с помощью Web Start в системе Linux, системой управления окнами по умолчанию является motif. Если вы хотите выполнить GTK, то необходимо установить свойство osgi.ws в "gtk" в основном файле jnlp. Например, можно добавить:

  <resources os="Linux"/>
        <property name="osgi.ws" value="gtk"/>
  </resources>

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