【发布时间】:2013-07-18 13:18:29
【问题描述】:
我目前正在接触 OSGI,并决定尝试一个稍微不典型的 OSGI 用例。我想在命令行应用程序中使用它。我想要一个main(..) 方法,它接受一些标志和参数,做一些事情并再次关闭。我不想要的是启动 Apache Karaf(或类似的)并在 OSGI 控制台中运行命令(虽然这可能成为一个可选功能)。
为什么首先将 OSGI 用于命令行应用程序?该应用程序应该使用同一库的不同版本(即elasticsearch)。只是因为它当然很糟糕。
我应该在捆绑包中还是外部使用服务?如何做到这一点?会出现什么问题?
【问题讨论】:
-
这是一个有趣的问题,如果你想让包使用 discoverable 命令行选项(这是我们的用例),那就更难了。唉,我们的最终解决方案相当重量级,我还没有时间将它提炼成其他人可以使用的东西……
标签: java osgi embedded-osgi