Я пытаюсь встроить рамки Equinox над 6.1 сервера в Websphere, но после попытки почти все, что я думаю, что мне нужна помощь.Встраивание Equinox 3.2.1 в WebSphere
Основная проблема заключается в том, что я не могу импортировать какие-либо фреймворки, которые я хочу в свой проект (новые Equinox, Apache Felix и т. Д.). Когда я это делаю, я получаю множество исключений, которые говорят мне, что загруженный класс не те, которые я хочу (ClassNotFoundException, MethodNotFoundException и т. Д.).
Так я узнал, что мне нужно использовать определенную версию (org.eclipse.osgi_3.2.1.R32x_v20060919.jar), который поставляется с Websphere. Проблема: я не знаю, как получить BundleContext.
Что я пробовал:
Использование
ServiceLoader
класс:FrameworkFactory ff = ServiceLoader.load(FrameworkFactory.class);
Результат: Мне нужно использовать Java 1.5, которая не имеет класс ServiceLoader.
Использование
EclipseStarter
класса для запуска рамки:BundleContext context = EclipseStarter.startup(new String[]{},null);
Результат: Выдает исключение, говоря, что Eclipse, уже работает.
Использование
EclipseStarter
получить контекст системы расслоение:BundleContext context = EclipseStarter.getSystemBundleContext();
Результат: Метод не реализован на этой версии.
Используя
EquinoxFactory
класс:Framework fw = new EquinoxFactory().newFramework(...);
Результат: Моя версия Equinox не имеет реализации EquinoxFactory класса.
Я не знаю, что еще попробовать. Я не могу найти много документации об этой версии, и почти все, что я нахожу, касается использования консоли, а не внедрения фреймворка.
Если я получаю это право, мы будем избегать того, чтобы начать новый JVM только для создания PDF (мы пытаемся использовать несколько версий Apache FOP)
Спасибо.
Я также помню, как пытался этот вариант, но в банке даже нет класса «FrameworkFactory». –
... добавление вашего предложения в список попыток (номер 4) –
О, вы используете Equinox 3.2 Знаете, вам около 9 лет, правильно? Вам нужно использовать хотя бы что-то вроде версии 3.5 для поддержки OSGi Release 4.2. –