Как связать местоположения исходного кода с плагинами на моей целевой платформе 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.
Однако это теряет много преимуществ использования целевой платформы в первую очередь - то есть для обеспечения безопасности времени.