Как выразить межпроектные зависимости в Eclipse PDE

Я ищу лучшую практику обработки межпроектных зависимостей между смешанными типами проектов, где некоторые проекты являются проектами plug-in / OSGI модуля Eclipse (приложение RCP), а другие являются просто старыми Java-проектами (модулями веб-сервисов). Немногие из подключаемых модулей eclipse имеют зависимости от проектов Java.

Моя проблема в том, что, по крайней мере, насколько яКак мы уже видели, в среде Eclipse PDE нет способа четко выразить такую зависимость. Я могу иметь проекты плагинов, зависящие от других проектов плагинов (черезImport-Package или жеRequire-Bundle явные заголовки), но не простых Java-проектов.

Кажется, я могу сделать так, чтобы проект объявлял зависимость от jar от другого проекта в рабочей области, но эти файлы jar не воспринимаются ни экспортом, ни конфигурацией запуска (хотя редактирование кода java видит библиотеки просто замечательно).

"Java проекты " используются для построения сервисов, которые должны быть развернуты на контейнере J2EE (на данный момент JBoss 4.2.2) и в некоторых случаях создают несколько jar'овs - один для развертывания на ухо JBoss, а другой для использования клиентским кодом (приложение RCP).

То, как мыve "решено» эта проблема на данный момент заключается в том, что у нас есть еще 2 конфигурации запуска внешних инструментов - одна для сборки всех jar'ови другой за копирование этих банокс плагином проектов. Это работает (вроде), но "вся сборка " а также "Копировать банки " цели подвергаются довольно большому шагу сборки, обходя функцию инкрементальной сборки всего затмения и копируя jar-файлы вместо того, чтобы просто ссылаться на проекты. Я отделяю информацию о зависимостях и запрашиваю довольно масштабное обновление рабочей области, которое пожирает время разработки, как будто это была конфетка.

То, что я хотел бы иметь гораздо больше "естественно» Настройка рабочей области, которая будет управлять зависимостями между проектами и запрашивать инкрементные перестройки только по мере необходимости, иметь возможность использовать клиентский код из служебных библиотек в подключаемых модулях приложения RCP и запускать приложение RCP со всеми необходимыми классами, где они находятся необходимо.

Так что я могу взять свой пирог и съесть его;)

НОТА

Чтобы быть ясным, в данный момент речь идет не столько об управлении зависимостями и модулями, сколько о конфигурации Eclipse PDE.

Мне хорошо известны такие продукты, как [Maven], [Ivy] и [Buckminster], и они решают совершенно другую проблему (однажды яПосле того, как мы решили проблему с конфигурацией рабочего пространства, эти продукты могут пригодиться для материализации рабочего пространства и построения продукта).

Ответы на вопрос(8)

Ваш ответ на вопрос