Osgi 如何更改Felix gogo shell中的默认命令范围?

Osgi 如何更改Felix gogo shell中的默认命令范围?,osgi,apache-felix,Osgi,Apache Felix,在gogo shell中输入命令时,它首先在默认范围中查找该命令的匹配项。如何配置此默认作用域 例如,如果使用gogo启动Felix框架,它将使用Felix范围作为默认范围。但是如果您启动equinox 3.8.1,它现在使用felix shell作为默认值,那么它将使用equinox范围作为默认值 主要的刺激是当我打字时: g! help 我从equinox:help获得结果,而不是felix:help,因此我想将felix范围设为默认范围 是否有OSGi framework属性来配置此功能

在gogo shell中输入命令时,它首先在默认范围中查找该命令的匹配项。如何配置此默认作用域

例如,如果使用gogo启动Felix框架,它将使用
Felix
范围作为默认范围。但是如果您启动equinox 3.8.1,它现在使用felix shell作为默认值,那么它将使用
equinox
范围作为默认值

主要的刺激是当我打字时:

g! help
我从
equinox:help
获得结果,而不是
felix:help
,因此我想将
felix
范围设为默认范围


是否有OSGi framework属性来配置此功能?

gogo shell在启动时将尝试查找启动脚本。默认情况下,它将查看文件夹(相对于启动目录):

如果没有找到脚本,则使用默认脚本(在org.apache.felix.gogo.shell中),其中包含以下行:

SCOPE = gogo:*

因此,要更改默认范围,请提供您自己的脚本。

据我所知,除了执行找到的第一个命令外,在任何地方都没有指定此搜索是如何进行的。不幸的是,这也不是OSGi规范的一部分,所以也没有关于这方面的详细文档。我想,当每个人都开始制定自己的标准时,就会发生这种情况。你可以在这里向felix项目提交一个bug:我认为它们的响应速度相对较快。你是否使用SSH或Telnet连接到gogo shell,甚至是透明的?看起来像这里,equinox默认使用默认的equinox_范围。修补捆绑包似乎很简单,但它可能会限制equinox在这两种情况下使用felix CommandSession的方式,而不是提供使用默认范围的可配置方式。
SCOPE = gogo:*