Как мне прикрепить расположение исходного кода к плагинам на моей целевой платформе Eclipse RCP? - PullRequest
10 голосов
/ 27 октября 2008

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

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

Страница Windows -> Настройки -> Разработка плагинов -> Целевая платформа -> Расположение исходного кода, кажется, не оказывает никакого влияния при добавлении каталога eclipse (она позволяет только добавлять каталоги).

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

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

Ответы [ 4 ]

12 голосов
/ 09 января 2011

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

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

Я решил это так:

  1. Переключиться на представление плагинов в Eclipse ( Окно / Показать представление / Плагины )
  2. найдите пакет org.mortbay.jetty
  3. щелкните правой кнопкой мыши по этому комплекту и выберите «Импортировать как» -> «Двоичный проект со связанным содержимым»

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

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

3 голосов
/ 20 мая 2009

Если вы используете комплекты 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 в следующей теме: Руководство по среде разработки плагинов> Инструменты> Настройки> Настройки целевой платформы> Расположение исходного кода

1 голос
/ 21 сентября 2012

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

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

0 голосов
/ 27 октября 2008

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

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

...