Eclipse PDE: Пакет не существует в этом плагине - PullRequest
2 голосов
/ 25 октября 2010

Мы разрабатываем плагин Eclipse, который разделен на несколько проектов Eclipse.Мы хотим экспортировать некоторые из классов, которые определены в этих внешних проектах (через Export-Package в MANIFEST.MF).Проблема в том, что Eclipse выдает ошибку «Пакет xxx не существует в этом плагине».

Чтобы привести пример, давайте предположим, что плагин - это проект P1, и этот использует некоторые классы, определенные в отдельном проекте Eclipse P2.Мы хотим связать P2 вместе с P1 и экспортировать некоторые классы P2 через MANIFEST.MF из P1.

Это работает, если я создаю jar-файл (P2.jar) и добавляю его в путь сборки P1, однако это не работает, если я просто добавляю P2 как зависимость P1.

Есть какие-либо предложения, в чем причина "Пакета xxx не существует в этом плагине"?

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

1 Ответ

0 голосов
/ 25 октября 2010

Добавляя проект P2 в качестве зависимости P2, просто добавьте классы сборки P2 (предполагая, что P2 - проект Java) к пути к классам P1.Это позволит скомпилировать P1, но приведет к неправильному поведению во время выполнения.

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

Таким образом, единственное решение состоит в том, чтобы преобразовать проект P2 в проект плагина, а затем позволить вашему плагину P1 зависеть от него.Этот вид плагинов, только экспортирующий код, но не вносящий ничего в ide, часто упоминается как библиотечные плагины.Все больше и больше библиотек Java теперь поставляются также таким образом, чтобы клиенты могли использовать их в контексте Eclipse (например, log4j).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...