Рекомендации по установке продуктов
Платформа Eclipse предусматривает стандартные программы для обновления и расширения продуктов. При выполнении этих операций следует руководствоваться приведенными ниже рекомендациями. Это обеспечит интеграцию вашего продукта с другими продуктами Eclipse.
Изучите еще раз пример структуры каталогов для продукта acmeweb:
acmeweb/
acmeweb.exe
eclipse/
.eclipseproduct
eclipse.exe
startup.jar
install.ini
.config/
platform.cfg
jre/
features/
com.example.acme.acmefeature_1.0.0/
feature.xml
...
plugins/
com.example.acme.acmefeature_1.0.0/
plugin.xml
about.ini
about.html
about.mappings
about.properties
acme.png
plugin_customization.ini
splash.jpg
welcome.xml
com.example.acme.acmewebsupport_1.0.0/
...
links/
...
Каким образом получены все эти файлы? Рассмотрим содержимое пакета с точки зрения разработчика. Установленные файлы можно сгруппировать в пять основных категорий:
- файлы верхнего уровня (например, acmeweb.exe)
- комплекты и модули
- собственно платформа Eclipse
- среда выполнения Java (JRE)
- файлы, созданные в процессе установки
Выполняя следующие действия, сценарий установки создает необходимую структуру каталогов:
- предоставление возможности выбрать каталог для установки (например, c:\acmeweb.
Далее acmeweb.)
- проверка наличия уже установленного продукта в выбранном каталоге
- копирование файлов согласно следующим правилам:
- Файлы верхнего уровня копируются в каталог acmeweb
- Файлы Eclipse копируются в каталог acmeweb/eclipse с учетом предусмотренной структуры каталогов для комплектов и модулей
- Файлы JRE копируются в каталог acmeweb/eclipse/jre. Если файлы JRE были установлены в другой каталог, приложение необходимо запускать из командной строки с аргументом -vm, чтобы передать платформе информацию о расположении файлов JRE
- Файлы компонентов и модулей копируются в каталоги acmeweb/eclipse/features
и acmeweb/eclipse/plugins соответственно.
- создание файла маркера .eclipseproduct в каталоге acmeweb/eclipse.
Файл маркера представляет собой файл формата java.io.Properties, в котором указано имя, идентификатор и версия продукта.
- сохранение любой необходимой информации по установке (пользователь, лицензия, дата), которая будет отображаться в окне сведений о продукте в acmeweb/eclipse/plugins/com.example.acmefeature_1.0.0/about.mappings
- если основной механизм (до R3.0) применяется для определения продукта,
замените acmeweb/eclipse/install.ini таким образом, чтобы новый файл
указывал в свойстве feature.default.id основной комплект продукта.
- запуск исполняемого файла с помощью параметра -initialize.
Это позволяет выполнить все первоначальные этапы обработки, требующие значительных временных затрат, и поместить их результаты в кэш, после чего пользователь может быстро запустить готовое для работы приложение.
Многопользовательский режим
Если продукт поддерживает одновременную работу нескольких пользователей, необходимо
предусмотреть возможность сохранения их данных (например, каталог workspace) отдельно от
общих каталогов.
Удаление продукта
При удалении продукта из системы следует обратить особое внимание на следующие вопросы.
- все файлы в каталогах eclipse/features и eclipse/plugins
будут удалены, даже если изначально они были установлены другой программой. Это обеспечивает удаление всех файлов, добавленных администратором обновлений платформы, при удалении самого продукта.
- за исключением предыдущего замечания, из других каталогов будут удалены только те файлы, которые были установлены программой установки. Необходимо сохранить все важные данные, например, каталог workspace, чтобы не потерять результаты работы при повторной установке.
Переустановка продукта
Если продукт уже установлен, программа установки должна поддерживать возможность его обновления или модернизации. Для подтверждения существования продукта в системе используется файл acmeweb/eclipse/.eclipseproduct. Сведения, содержащиеся в данном файле маркера, позволяют убедиться в том, что обновляется необходимый продукт. Доступность обновлений проверяется путем сравнения шаблона и имени компонента. Например, строка acmeweb/eclipse/plugins/com.example.acmefeature_1.0.1 означает, что продукт был обновлен до версии 1.0.1.
После проверки допустимости переустановки программа установки копирует или заменяет все необходимые файлы. Если версия платформы Eclipse не изменилась, возможно, что программа установки будет пропускать целые каталоги. Номер версии, добавляемый к компонентам и модулям платформы, позволяет определить, нужны ли какие-либо изменения внутри каталогов модулей и компонентов.
Дополнительную информацию по установке продуктов можно найти в разделе Инструкции по написанию программы установки Eclipse.