OSGi shell具有命令历史记录,行编辑而不仅仅是基本命令

时间:2016-02-11 16:49:51

标签: shell osgi

当我尝试在互联网上搜索它时,看起来几乎没有人谈论它,就像它适用于所有人或无人问津。

我已经安装了Karaf,我发现它有一个非常好的shell,有100个对我有用的命令。但是当我使用Felix + gogo或Equinix + gogo时:

  • 行编辑不存在,
  • 没有命令历史记录
  • 当进入Felix时,甚至没有像Equinox的或Karaf的包那样简单实用的命令:exports

这只是我的问题还是这就是gogo的工作方式?我怎样才能在Felix或Equinox中获得正常的二十一世纪外壳?

2 个答案:

答案 0 :(得分:2)

缺少命令行编辑的原因是它通常需要本机代码。显然,您不希望将本机代码依赖项添加到框架中。 Gogo的设计范围是一个绝对最小的外壳,可以在任何地方运行,也可以嵌入。

将Gogo包装在JLine shell中非常容易。这基本上是卡拉夫人所做的,尽管这使得它比内置外壳的资源重得多。

OSGi就是依赖关系。如果您是框架,那么您希望积极地将它们最小化。也就是说,插件模型工作正常,只需添加一个shell包。

答案 1 :(得分:1)

这是标准行为。 Karaf Shell是一款经过改进的GogoShell,具有很多增强功能。 像历史一样。 对于包装:出口等,找到Karaf项目的相应捆绑包,并尝试在项目中使用它们。它只是一个提供这些命令的Bundle。或者如果你愿意,可以切换到Karaf。