2012-06-23 4 views
0

Я пытаюсь передать произвольные объекты Java из рабочего пространства в мой плагин, сериализуя их в XML с помощью XStream. Это работает отлично (используя SIMON), но при попытке восстановить их на плагине-сайте я получаю исключение CannotResolveClassException (очевидно). Поэтому я хотел бы каким-то образом включить классы рабочего пространства в путь сборки плагина, чтобы сделать типы рабочей области доступными внутри моего плагина и, следовательно, иметь возможность восстанавливать объекты.Включить все классы рабочей области в плагин eclipse

+0

Ваш плагин нуждается в доступе к классам Java. Являются ли они уже в плагине или проекте Java? –

+0

Они находятся в обычном Java-проекте, а не в плагине. –

+0

Плагины Eclipse - это пакеты OSGi, поэтому вы должны каким-то образом подвергать свои классы Java OSGi (либо содержащиеся в вашем плагине, либо как их собственные плагины). См. Http://stackoverflow.com/q/3594024/713646 и http://stackoverflow.com/q/762721/713646, поскольку они объясняют связь между банками и OSGi. –

ответ

0

Мне удалось это сделать, используя URLClassLoader и пропустив все проекты в рабочей области (используя плагин Ресурсы) и добавив все подпапки (рекурсивно) к этому классуLoader. Я знаю, что это какая-то грубая сила, но она работает, и я не мог понять, как определить целевую папку сборки (не всегда/bin).