Управление средой Eclipse

Искусство управления Eclipse

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

Крис Анищук, инженер-програмист, IBM 

Крис АнищукКрис Анищук (Chris Aniszczyk) работает инженером-программистом в IBM (Tivoli Security) и учится в интернатуре IBM Extreme Blue. В глубине души он является энтузиастом открытого исходного кода и работает на дистрибутиве Gentoo Linux (http://www.gentoo.org). Участвует в проекте Eclipse Modeling Framework Technology (EMFT).



Фил Кросби, студент, University of Maryland, College Park

Фил КросбиФил Кросби (Phil Crosby) - студент University of Maryland, College Park. Учился по программе Visual Studio team в Microsoft, а прежде по IBM Extreme Blue. В настоящее время занимается исследованиями перьевого ввода и развлекается написанием настольных приложений .NET GNOME с использованием Mono в Linux.



14.02.2006

Управление вашими подключаемыми модулями

Что такое подключаемый модуль и зачем он нужен?

Подключаемый модуль (известный также под названием пакет (bundle)) представляет собой часть функциональности в Eclipse. Существуют подключаемые модули для всего, что можно увидеть в Eclipse, включая:

  • Перспективы и виды
  • Редакторы
  • Средства моделирования
  • Ведение журналов и другие базовые функции

Фактически, вся Eclipse IDE построена как большой набор подключаемых модулей. Другие основанные на Eclipse продукты, такие как IBM Rational® Software Architect, расширяют основные функции Eclipse, добавляя новые подключаемые модули.

Наборы связанных подключаемых модулей группируются в функциональные возможности. Функциональные возможности и их подключаемые модули находятся в каталоге программы Eclipse (в данном примере Eclipse установлен в /opt/eclipse). Вот пример схемы каталога:

Листинг 1. Функциональная возможность Eclipse и структура каталога подключаемого модуля
/opt/eclipse/ 
   features/ 
      org.eclipse.jdt_3.1.1/
         feature.xml 
         ... 
   plugins/
      org.eclipse.jdt.ui_3.1.1.jar
      ...

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

При использовании Eclipse продолжительное время вы постоянно будете добавлять в него новые функциональные возможности, загружая подключаемые модули сторонних производителей или создавая свои собственные. Управление этими модулями на различных версиях Eclipse может быть не таким простым. Поскольку они размещаются в каталоге программы Eclipse, при установке новой версии Eclipse они теряются. Это означает, что вы должны хранить несколько копий большого количества подключаемых модулей, если имеете несколько установленных Eclipse, или, что еще хуже, вы должны проходить через неприятности повторной установки всех этих подключаемых модулей каждый раз при обновлении Eclipse.

Если ваши подключаемые модули находятся в отдельном месте вне каталога программы Eclipse, вам не нужно переустанавливать их при обновлении версии Eclipse, и вы можете совместно использовать подключаемые модули в нескольких версиях Eclipse.

Возьмите управление в свои руки: Метод 1 - ручные расширения файловой системы

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

Для нашего примера мы создадим каталог /opt/eclipse-plugins, в котором будут размещаться подключаемые модули. Для того чтобы Eclipse мог хранить в нем подключаемые модули, вы должны сначала создать следующую структуру каталога и файлы:

Листинг 2. Структура каталога расширения продукта Eclipse
/opt/eclipse-plugins/ 
   eclipse/ 
      .eclipseextension
      features/ 
      plugins/

Обратите внимание на то, что кроме создания этих каталогов вы должны также создать файл .eclipseextension в каталоге eclipse (в нашем примере /opt/eclipse-plugins/eclipse). Этот файл дает возможность Eclipse узнать, что здесь можно найти расширения. Он должен иметь следующее содержимое:

id=org.eclipse.platform name=Eclipse Platform
version=3.1.1

Свойство version в файле .eclipseextension должно быть установлено в значение версии Eclipse, который будет использовать это расширение продукта. Значение может быть конкретным (3.1.1), более общим (3.0.0) или совсем общим (1.0.0). На момент написания статьи номер версии, по всей вероятности, не имеет какого-либо влияния на функциональность расширения продукта.

Обратите внимание на то, что, используя Windows®, вы не сможете создать файл .eclipseextension при помощи программы Explorer. Вы можете создать его, открыв Notepad, набрав содержимое файла и сохранив его как .eclipseextension (проверьте, что в качестве типа файлов выбран "all files", в противном случае Notepad добавит к файлу .txt).

Следующее действие - указать Eclipse это месторасположение, так чтобы он знал в будущем, где искать подключаемые модули. Это можно сделать в Product Configuration Manager, доступном через меню Help > Software Updates > Manager Configuration.

Используя Product Configuration Manager, вы можете добавлять новые расширения Eclipse. Для разрешения использовать созданное выше расширение (/opt/eclipse-plugins) мы должны добавить его как "месторасположение расширений" (extension location). Всегда имеется одно месторасположение расширений, которым является каталог plugins установки Eclipse. Для добавления еще одного нажмите правой кнопкой мыши в Eclipse Platform и выберите Add > Extension Location.

Рисунок 1. Добавление месторасположений расширений
Добавление месторасположений расширений

После выбора каталога, в котором размещаются подключаемые модули, они появляются в списке расширений продукта. Здесь вы можете проверить то, что ваши подключаемые модули были найдены.

Рисунок 2. Просмотр подключаемых модулей
Просмотр подключаемых модулей

Удобной возможностью в экране Product Configuration является возможность полностью запретить месторасположение подключаемых модулей - очень удобно при разработке подключаемых модулей и тестировании различных конфигураций.

Возьмите управление в свои руки: Метод 2 - Добавление расширений продукта через Configuration Manager

Вместо создания папок и файлов .eclipseextension в файловой системе вы можете использовать Eclipse для создания расширений продукта.

Вы можете создать новые расширения продукта в Update Manager (Help > Software Updates > Find and Install). При установке нового подключаемого модуля Eclipse запрашивает вас о месторасположении для его установки. При этом вы можете нажать Change Location для выбора расширения продукта.

Рисунок 3. Выбор места установки подключаемого модуля
Выбор места установки подключаемого модуля

Нажмите Add Location. После выбора каталога Eclipse создаст в нем расширение продукта за вас.

Рисунок 4. Создание нового расширения продукта через Update Manager
Создание нового расширения продукта через Update Manager

Когда вы впоследствии будете устанавливать подключаемые модули, устанавливайте их в нужный каталог расширений (см. область Install Location на рисунке 3).

Возьмите управление в свои руки: Метод 3 - Создание папки links для управления расширениями продукта

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

Сначала создайте каталог в папке вашей установки Eclipse (например, /opt/eclipse) с названием links. В этом каталоге вы можете создать файлы *.link (например, emfPlugins.link). Каждый link-файл указывает на месторасположение расширения продукта. Eclipse будет сканировать эту папку links при запуске и найдет подключаемые модули в каждом расширении продукта, на который указывает link-файл. Вот пример схемы установки Eclipse, использующего каталог links:

Листинг 3. Схема установки Eclipse, использующего папку links
/opt/eclipse/
     links/
          emfPlugins.link
          webtools.link
          updateManager.link
          ...
     ...

Содержимое link-файлов выглядит следующим образом:

path=/opt/plugins/emf/

Windows

В данной статье мы рассматриваем установку Eclipse на Linux®. Все приведенные примеры листингов подходят и для Windows. Вы должны только заменить путь соответствующим путем в windows. Также обратите внимание на то, что в Windows пути требуют указания двойной обратной косой черты (например, path=c:\\plugins\\emf).

Где /opt/plugins/emf/ имеет структуру каталогов расширения продукта Eclipse, аналогичную указанной в листинге 1.

Преимуществом такого метода является то, что все месторасположения ваших модулей хранятся в каталоге в виде текстовых файлов. Это означает, что вы можете обновить Eclipse и указать ему на месторасположение ваших каталогов расширений продукта простым копированием папки links в новый каталог установки Eclipse. Вы можете также иметь одну общую папку links для всех ваших установок Eclipse, создав символическую ссылку на папку links в каждом каталоге установки Eclipse (если ваша файловая система поддерживает символические ссылки).


Управление рабочими областями (workspaces) Eclipse

В Eclipse концепция рабочей области представляется просто как контейнер ресурсов, которые могут быть доступны для подключаемых модулей. Рабочая область является главной точкой взаимодействия между конечным пользователем и платформой Eclipse. Конечный пользователь может создавать проекты и управлять содержимым рабочей области. Рабочая область сама по себе существует в файловой системе в виде каталога и имеет следующее ограничение: может существовать только одна рабочая область для одного экземпляра Eclipse. Рабочая область содержит также каталог .metadata, который хранит индивидуальную информацию, например состояние подключаемого модуля.

Зачем мне нужно несколько рабочих областей в Eclipse?

Ответ прост - производительность. Чем больше проектов находится в вашей рабочей области, тем больше вероятность достичь такого состояния, когда ваша система разработки не сможет управлять проектами. Для решения этой проблемы вы можете разбить ваши рабочие области при помощи параметра -data, передаваемого исполняемому файлу Eclipse (/opt/eclipse/eclipse, например):

Листинг 4. Указание различных рабочих областей
/opt/eclipse-3.1/eclipse -data /opt/workspaces/web
/opt/eclipse-3.2M2/eclipse -data /opt/workspaces/web
/opt/eclipse-3.2M2/eclipse -data /opt/workspaces/dev -vmargs -Xmx512m

Советы по теме рабочей области

Вы можете отобразить месторасположение рабочей области в заголовке Eclipse, передав параметр -showlocation исполняемому файлу Eclipse. Кроме того, вы можете назначить различные характеристики производительности различным рабочим областям при помощи аргументов -vmargs -Xms и Xmx.

Вы также можете переключать рабочие области без перезапуска Eclipse, выбирая File > Switch Workspace в Eclipse.

Существует также перспектива наличия "исследовательской" рабочей области, в которой большой объем кода загружается для просмотра в Eclipse, используя Open Type (Ctrl+Shift+T) и т.д. Это особенно полезно, если вы пытаетесь изучить примеры, или если когда-нибудь захотите узнать, как проект с открытым исходным кодом решает определенную проблему.

Обратной стороной существования нескольких рабочих областей является необходимость синхронизации настроек предпочтений разработки между ними. Поскольку предпочтения хранятся в рабочей области Eclipse, вы должны экспортировать и импортировать их в разные рабочие области (File > Export > Preferences).


Управление установками Eclipse

Зачем мне нужно несколько установок Eclipse?

Вы неизбежно будете иметь несколько установок Eclipse, если используете более одного основанного на Eclipse продукта. Например, если вы используете Eclipse V3.1 для повседневного Java-кодирования и используете Eclipse с WebTools для авторинга приложений IBM WebSphere®, значит вы имеете две совершенно разных установки Eclipse. Общие подключаемые модули и рабочие области для этих Eclipse-продуктов помогут сберечь ваше время и избежать определенных проблем при обновлении.

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

Обратите внимание на то, что вы также можете управлять набором подключаемых модулей, использующихся в Eclipse, проверяя функциональные возможности в Eclipse IDE (которая разрешает или запрещает подключаемые модули, принадлежащие этим функциональным возможностям) и выбирая Help > Software Updates > Manage Configuration в Eclipse. Вы также можете управлять тем, какие подключаемые модули разрешены, если запускаете тестовые экземпляры Eclipse в Run Configuration Manager при разработке собственных подключаемых модулей. Просто, исходя из нашего опыта, наличие нескольких установок Eclipse является наиболее переносимым и используемым способом управления несколькими версиями и конфигурациями Eclipse, особенно в целях тестирования.

Несколько установок Eclipse

Установки Eclipse полностью содержатся в собственной папке. Для работы с несколькими установками нужно просто загрузить желаемые продукты и версии Eclipse и разархивировать их в своих собственных каталогах. Вот пример схемы, использованной для тестирования подключаемых модулей в разных версиях Eclipse:

/opt/eclipse-3.0
/opt/eclipse-3.1
/opt/eclipse-3.2-m1

Хорошей идеей является совместное использование как можно большего числа компонентов в установках Eclipse для сохранения времени при установке подключаемых модулей для всех текущих установок и для устранения дублирования рабочих областей. Как было описано выше, вы можете совместно использовать:

  • Подключаемые модули - Одна (или много) общих папок подключаемых модулей, которые используются всеми вашими установками Eclipse. Лучший способ - создание папки links, как описано в разделе "Возьмите управление в свои руки: Метод 3".
  • Рабочие области - Как описано в разделе "Управление рабочими областями Eclipse".
  • Настройки рабочей области - Настройки привязаны к рабочим областям. Используйте File > Export > Preferences в Eclipse.

Имейте в виду, что совместное использование рабочих областей и настроек в установках Eclipse может быть проблематичным, особенно если версии Eclipse отличаются в главных номерах (3.1 и 3.2, например).


Заключение

Мы преследовали двойную цель: познакомить вас с базовыми рабочими составляющими Eclipse, которыми являются подключаемые модули, проекты и рабочие пространства, и показать вам преимущества управления несколькими средами Eclipse, а также продемонстрировать некоторые обратные стороны этого. Мы надеемся, что получив эти знания, вы примените их для сокращения времени, затрачиваемого на управление Eclipse.

Ресурсы

Научиться

Получить продукты и технологии

Обсудить

Комментарии

developerWorks: Войти

Обязательные поля отмечены звездочкой (*).


Нужен IBM ID?
Забыли Ваш IBM ID?


Забыли Ваш пароль?
Изменить пароль

Нажимая Отправить, Вы принимаете Условия использования developerWorks.

 


Профиль создается, когда вы первый раз заходите в developerWorks. Информация в вашем профиле (имя, страна / регион, название компании) отображается для всех пользователей и будет сопровождать любой опубликованный вами контент пока вы специально не укажите скрыть название вашей компании. Вы можете обновить ваш IBM аккаунт в любое время.

Вся введенная информация защищена.

Выберите имя, которое будет отображаться на экране



При первом входе в developerWorks для Вас будет создан профиль и Вам нужно будет выбрать Отображаемое имя. Оно будет выводиться рядом с контентом, опубликованным Вами в developerWorks.

Отображаемое имя должно иметь длину от 3 символов до 31 символа. Ваше Имя в системе должно быть уникальным. В качестве имени по соображениям приватности нельзя использовать контактный e-mail.

Обязательные поля отмечены звездочкой (*).

(Отображаемое имя должно иметь длину от 3 символов до 31 символа.)

Нажимая Отправить, Вы принимаете Условия использования developerWorks.

 


Вся введенная информация защищена.


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=40
Zone=Open source
ArticleID=145523
ArticleTitle=Управление средой Eclipse
publish-date=02142006