Я пытаюсь передать произвольные объекты Java из рабочего пространства в мой плагин, сериализуя их в XML с помощью XStream. Это работает отлично (используя SIMON), но при попытке восстановить их на плагине-сайте я получаю исключение CannotResolveClassException (очевидно). Поэтому я хотел бы каким-то образом включить классы рабочего пространства в путь сборки плагина, чтобы сделать типы рабочей области доступными внутри моего плагина и, следовательно, иметь возможность восстанавливать объекты.Включить все классы рабочей области в плагин eclipse
0
A
ответ
0
Мне удалось это сделать, используя URLClassLoader
и пропустив все проекты в рабочей области (используя плагин Ресурсы) и добавив все подпапки (рекурсивно) к этому классуLoader. Я знаю, что это какая-то грубая сила, но она работает, и я не мог понять, как определить целевую папку сборки (не всегда/bin).
Ваш плагин нуждается в доступе к классам Java. Являются ли они уже в плагине или проекте Java? –
Они находятся в обычном Java-проекте, а не в плагине. –
Плагины Eclipse - это пакеты OSGi, поэтому вы должны каким-то образом подвергать свои классы Java OSGi (либо содержащиеся в вашем плагине, либо как их собственные плагины). См. Http://stackoverflow.com/q/3594024/713646 и http://stackoverflow.com/q/762721/713646, поскольку они объясняют связь между банками и OSGi. –