【发布时间】:2020-09-13 00:39:40
【问题描述】:
我有一组 OSGI 包(大约 10 个,那些有激活/停用声明的包),它们统一在一个 .product 文件下,共同构成一个 java 应用程序。这些包做了很多工作,但作为输出,它们只是在控制台上打印一些重要的日志数据。
我想要做的 - 我想要一个简单的 GUI,它允许做 3 件事: 1)一个用于激活所有这些捆绑包的按钮(运行整个程序), 2)一个窗口,我将在其中看到所有输出日志数据, 3) 一个用于停用所有这些捆绑包的按钮(结束程序)。
最初我计划使用 e4 RCP。问题是,我不能只在这个大项目中添加一个新的 GUI 插件(捆绑包),因为存在位冲突:这些捆绑包中使用了 JNA,它加载了 32 位本机库。这意味着,所有的东西也应该在 32 位 jvm 上运行。但是,它在 64 位 eclipse 目标平台上运行(外部仅采用旧的 equinox 启动器,仍然支持 32 位),这个 tp 在我的公司中就像一个黄金标准,所以我不能只切换到 eclipse 32 位目标平台。捆绑并快乐。但是,据我了解,您不能只使用 32 位 SWT 库和使用 equinox 启动器一样的技巧,因为它们是 eclipse 的重要组成部分,并且应该保持与 eclipse 相同的位数。并且 Eclipse 允许使用部分 32/64 位库,并且可以选择仅针对
这让我寻找组织 GUI 和主逻辑之间关系的其他概念,特别是当我可以单独执行此操作时:f.e.我在我的 32 位目标平台中将我的 GUI 编码为一个完全独立的项目,然后以某种方式从主项目中调用这些东西(在运行时?)。在这里,我被困住了。如果我在一个项目中有 10 个捆绑包,我如何从另一个 (GUI) 项目中激活/停用它们?如何通过单击按钮等正确组织这种通信?真的有可能吗?也许不是 e4,而是其他一些乐器?
我是 OSGI 开发的新手,如果我说了一些奇怪的话 - 提前抱歉。
【问题讨论】:
标签: java eclipse user-interface osgi e4