Программа обновления 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 может осуществлять поиск автоматических обновлений по расписанию, например, при каждом запуске (значение по умолчанию), ежедневно, еженедельно и пр. .
Ниже приведена полная последовательность шагов, которые составляют механизм обновления: