Как связать местоположения исходного кода с плагинами на моей целевой платформе Eclipse RCP?

У меня есть рабочее пространство с несколькими проектами плагина RCP.

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

Страница "Установки Windows → Настройки → Плагин → Целевая платформа → Исходный код", похоже, не имеет никакого эффекта, когда я добавляю каталог eclipse (он позволяет добавлять каталоги).

Копирование исходных банок из каталога eclipse в целевую платформу имеет аналогичный эффект.

Что я делаю неправильно? Как прикрепить набор исходных банок к моей целевой платформе?

Ответ 1

У меня была такая же проблема сегодня. В моем случае я хотел отлаживать источник плагина embedded jetty (org.mortbay.jetty_5.1.14.v200806031611.jar), который поставляется с Eclipse Equinox (OSGI), который является частью моей целевой платформы eclipse.

Когда вы отлаживались и хотели попасть в любой класс внутри пакета jetty, я всегда получал сообщение о том, что это класс из Plugin-Dependencies, и исходное вложение не может быть изменено.

Я решил это следующим образом:

  • Переключиться на просмотр плагинов в Eclipse (окно/Показать представление/плагины)
  • найдите узел org.mortbay.jetty
  • щелкните правой кнопкой мыши на этом пакете и выберите "Импортировать как" → "Двоичный проект со связанным контентом"

Теперь, когда Bundle появляется в вашем обозревателе пакетов как новый проект Eclipse, в моем случае org.mortbay.jetty.

Теперь щелкните правой кнопкой мыши на этом новом проекте в проводнике пакетов и перейдите в "Свойства/Путь/Библиотеки сборки Java". Вы видите там файл с причалом, и если вы расширите эту запись, вы можете отредактировать "исходное приложение", как обычно. Я указал на загруженный исходный код Jetty, расположенный в совершенно другой папке, чем моя целевая платформа, которую я использую для своего проекта.

Ответ 2

Если вы используете пакеты Eclipse SDK при создании целевой платформы, вам немедленно нужно предоставить "Java Source Attachment" и "Javadoc Location" для каждого плагина Eclipse. Например, я использовал "Eclipse Platform SDK" (eclipse-platform-SDK-3.4.2-win32) как целевое пространство, и когда я показываю страницу "Страницы местоположений исходного кода", которую вы упомянули, она заполняется "Исходные местоположения, объявленные в целевой платформы". В Eclise IDE я могу увидеть исходный код ядра Eclipse и javadoc (например, в пакетах JFace).

В противном случае добавить плагины в исходные коды не так просто, но вы можете добиться успеха двумя способами:

  • предоставление "исходного плагина" (самый простой способ, если поставщик плагинов также поставляет исходный плагин) в целевую платформу, как обычный плагин (PDE распознает его).
  • предоставление дополнительного местоположения источника (не простой способ...)

Дополнительную информацию об объектах целевого исходного кода можно найти в Eclipse Help в следующем разделе: Руководство по среде разработки плагинов > Инструменты > Настройки > Предпочтения целевой платформы > Расположение исходного кода

Ответ 3

Все источники доступны, если вы загружаете сборку Eclipse для RCP и RAP Developers из главной страницы загрузки. По крайней мере, то, что он назвал для сборки Juno, ее называли Eclipse for RCP/Plug-in Developers.

Не похоже, что исходный код плагина доступен через стандартные сборки Java/J2ee Eclipse. Я предполагал, что источники будут доступны через механизм обновления, но не смогли найти правильный сайт/функцию обновления. Если кто знает, прокомментируйте.

Ответ 4

Я могу изменить целевую платформу во время выполнения, используя опцию -install runtime. Храните targetPlatform как платформу eclipse.

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