У меня есть набор пакетов OSGI (около 10, те, у кого есть объявления активации / деактивации), которые объединены в один файл .product и вместе составляют приложение java. Эти пакеты выполняют много работы, но на выходе они просто выводят некоторые важные данные журнала на консоль.
Что я хочу сделать - мне нужен простой GUI, который позволяет 3 вещи: 1) кнопку для активации всех этих пакетов (запускать всю программу), 2) окно, в котором я увижу все данные журнала вывода, 3) кнопку для деактивации всех этих пакетов (завершение программы).
Первоначально я Планируется использовать e4 RCP. Проблема в том, что я не могу просто добавить новый плагин (пакет) GUI в этот большой проект, потому что существует конфликт разрядности: в этих пакетах используется JNA, и он загружает 32-битные собственные библиотеки. Это означает, что все это также должно работать на 32-битной jvm. НО, он работает на 64-битной целевой платформе eclipse (используя только старую пусковую установку Equinox, которая все еще поддерживает 32-битную версию), и этот tp является чем-то вроде золотого стандарта в моей фирме, поэтому я не могу просто переключиться на 32-битную целевую платформу eclipse для всех связки и будьте счастливы. Однако, насколько я понял, вы не можете просто проделать тот же трюк с 32-битными библиотеками SWT, что и с пусковой установкой Equinox, потому что они являются важной частью eclipse и должны сохранять ту же разрядность, что и eclipse. А eclipse позволяет частично использовать 32/64 битные библиотеки с возможностью автоматического выбора необходимых только для выпусков <4.10. Мне нужно использовать последнюю версию eclipse. </p>
Это заставляет меня искать другие концепции организации взаимосвязи между GUI и основным логом c, особенно когда я могу делать это отдельно: например, я кодирую свой GUI в моем 32-битном целевая платформа как совершенно отдельный проект, а затем как-то вызывать материал (во время выполнения?) из основного проекта. И здесь я застрял. Если у меня есть 10 пакетов в одном проекте, как я могу активировать / деактивировать их в другом (GUI) проекте? Как правильно организовать это общение, нажимая на кнопки и так далее? На самом ли деле это возможно? Может, не с e4, а с какими-то другими инструментами?
Я немного новичок ie в разработке OSGI, если я сказал что-то странное - заранее извините.