2010-02-02 7 views
3

Я разработал плагин RCP (не автономный) и проект Java с библиотечным кодом, который необходимо вызвать подключаемому модулю.Eclipse RCP с зависимостями проекта

Я настроил Java-проект в том же рабочем пространстве. Плагин имеет зависимость от проекта от Java Project.

Код компилируется (плагин содержит некоторые материалы с кодом Java Project/library).

При запуске плагина, я получаю ClassNotFoundException:

java.lang.ClassNotFoundException: com.mycode.ArgSet 
    at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:494) 

Кто знает, как настроить плагин правильно?

ответ

3

Преобразование проект библиотеки в плагин проекта (щелчок правой кнопкой мыши ->Настройка ->Преобразовать в проект подключаемого модуля) и добавить его в зависимости от вашего проекта плагина (манифеста редактор, Зависимости).

+0

еще раз спасибо Фабиан! Вы знаете причину этого? Поддерживает ли он управление версиями и т. д. – geejay

+0

Да, поддержка разных версий связка - одна из причин того, что каждый комплект имеет свой собственный загрузчик классов. Подробности можно найти здесь: http://www.eclipsezone.com/articles/eclipse-vms/ –

+0

Требуется ли в новом проекте подключаемого модуля конфигурация продукта а также? Im получение java.lang.RuntimeException: идентификатор приложения не найден. – geejay

0

Вы также можете создать JAR вашего проекта libray и добавить эту банку в свой проект-плагин. Так мы и делаем это (но это не так автоматически, вы должны экспортировать вручную каждый раз, когда вы меняете библиотечный проект).

Другие проблемы с этим jar-export: при использовании других библиотек (iE AXIS2 для Webservice , ...), эти библиотеки также должны были быть добавлены в проект плагина.

Смежные вопросы