Как добавить зависимости в RCP-приложение Eclipse e4? - PullRequest
0 голосов
/ 02 мая 2018

Я разрабатываю приложение Eclipse e4 RCP и хочу использовать REST-клиент Jersey для вызова веб-службы RESTful, но когда я добавляю зависимости в файл плагина MANIFEST.MF, приложение не запускается правильно.

Я хочу добавить следующие зависимости: javax.ws.rs, org.glassfish.jersey.core.jersey-client и org.glassfish.jersey.media.jersey-media-json-jackson. Все три были добавлены в целевой файл определения, который загружается из Eclipse Orbit (поэтому они уже содержат необходимую информацию OSGI) и файл плагина MANIFEST.MF.

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

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

!ENTRY org.eclipse.e4.ui.workbench 4 0 2018-05-02 14:52:36.033
!MESSAGE Unable to retrieve the bundle from the URI: bundleclass://com.xxx.demo/com.xxx.demo.DemoPart

Проблема возникает, когда какая-либо из трех зависимостей добавляется в файл MANIFEST.MF плагина com.xxx.demo и если я удаляю зависимости из файла MANIFEST.MF, он запускается правильно. Я не включил код JAX-RS в плагин, который будет вызывать веб-сервис, поэтому я знаю, что проблема возникает, когда я добавляю зависимости в файл манифеста.

Есть ли что-то, что я упустил при настройке зависимостей, что мешает запуску приложения или, альтернативно, есть ли лучший способ добавить зависимости в плагин?

1 Ответ

0 голосов
/ 03 мая 2018

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

При использовании файла .product, основанного на функциях, файлы feature.xml в продукте должны содержать список всех плагинов, которые требуются в RCP. Если чего-то нет в списке, оно не будет включено.

...