我正在开发一个 OSGi 包,它实现了一个服务作为对本机可执行文件的包装器。也就是说,该服务使用 运行可执行文件ProcessBuilder
,向其提供一些数据,然后检索结果。我的问题是关于打包这个捆绑包的最佳方式。本机可执行文件包括许多相关数据文件,所有这些文件都必须存在于磁盘上,工具才能运行。我发现了很多关于在 OSGi 中处理本机 DLL 的参考资料,但没有一个涉及与必须存在于磁盘上的捆绑包相关联的文件,而不仅仅是可通过类路径检索。
我在想我可以将可执行文件和依赖文件直接包含在包存档中,然后在包启动时以编程方式提取到某个目录。我能想到的另一个选择是将可执行文件放在某个地方并设置一个指向它的系统属性或其他东西,但我想将配置保持在最低限度。
不特定于特定 OSGi 实现的解决方案会很好,但如果不是,我正在使用 Equinox。
谢谢!