Программа обновления Eclipse предназначена для поиска обновлений для установленных комплектов. Для каждого такого комплекта ищется встроенный URL, который служит для подключения к серверу и поиска на нем новых версий. Если найдены обновления, Eclipse предлагает их установить. После того как новая версия комплекта будет загружена и установлена, а платформа - перезапущена, с новой версией можно будет работать.
В компаниях, где один и тот же продукт, основанный на Eclipse, используется на многих рабочих местах (как правило, в коммерческой версии), в этой модели могут возникать различные проблемы:
Прежде всего администратор должен создать локальный сайт обновления Eclipse на сервере в локальной сети организации (не за брандмауэром). Этот сайт обновления будет частично отражать сайт обновления в Internet, поскольку он будет хранить обновления только тех модулей и комплектов, которые компания считает нужным применить в данный момент. Фактически этот сайт - это тот же сайт обновления Eclipse, с файлом site.xml и архивами комплектов и модулей.
Администраторы могут создать такой сайт двумя способами:
Поскольку URL сайта обновления встроен в манифест комплекта, комплекты не знают о том, что администратор настроил локальный сайт обновления. Поэтому важно включить функцию перенаправления. Эта и прочие опции стратегии обновления задаются в любом продукте Eclipse в файле стратегии обновления. Администратор обновлений должен быть настроен на работу с этим файлом при поиске.
Файл задается в формате XML и может иметь любое имя. Для этого служит поле Параметры > Установка и обновление Стратегия обновления. По умолчанию это поле пусто; в нем можно задать URL файла стратегии обновления. Этот файл настраивается администратором сразу для всех установок продукта. Совместное использование этого файла можно обеспечить двумя способами:
org.eclipse.update.core/updatePolicyFile = <URL>
Формат файла стратегии должен соответствовать следующему DTD:
<?xml encoding="UTF-8"?>
<!ELEMENT update-policy (url-map)*>
<!ATTLIST update-policy
><!ELEMENT url-map EMPTY>
<!ATTLIST url-map
pattern CDATA #REQUIRED
url CDATA #REQUIRED
>
Это элемент служит для того, чтобы переопределить URL обновления, встроенные в манифесты комплектов. При поиске новых обновлений Eclipse проверяет стратегию обновления (если она указана) и значение url-map, если в нем задан префикс комплекта. При совпадении с префиксом заданный URL будет использован вместо встроенного. Таким способом администратор может направить поиск обновлений продуктами Eclipse на локальный сервер не за брандмауэром. В то же время сторонние комплекты, установленные программой обновления Eclipse, будут по-прежнему обновляться с помощью механизма по умолчанию, потому что для них не будет найдено совпадение в стратегии.
В файле может быть указано несколько элементов url-map. Префиксы для комплектов можно указывать с большей или меньшей степенью детализации.
Например, чтобы перенаправить все обновления Eclipse,
атрибут pattern можно задать как "org.eclipse"
. Точно так же возможно задать pattern равным полному ИД комплекта, если перенаправление требуется осуществлять для отдельных комплектов.
Шаблоны в файле можно задавать так, чтобы постепенно сужать область возможных совпадений. При этом для одного и того же комплекта может встретиться несколько совпадений. Из них будет использовано наиболее точное совпадение. Пример:
<?xml version="1.0" encoding="UTF-8"?> <update-policy> <url-map pattern="org.eclipse" url="URL1"/> <url-map pattern="org.eclipse.jdt" url="URL2"/> </update-policy>
В этом примере все комплекты Eclipse будут обновлены с помощью URL1, кроме org.eclipse.jdt
, который будет обновлен с URL2.
Файлы стратегий обновления не содержат строк, которые необходимо переводить, поэтому никакая особая локализация для них не требуется. Рекомендуется использовать в этих файлах кодировку UTF-8.
Третья часть всего механизма описана в другом разделе, но упоминается и здесь, поскольку является неотъемлемым его компонентом. Eclipse может осуществлять поиск автоматических обновлений по расписанию, например, при каждом запуске (значение по умолчанию), ежедневно, еженедельно и пр. .
Ниже приведена полная последовательность шагов, которые составляют механизм обновления: