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

Lin*_*ith 6 osgi apache-felix

当您在gogo shell中输入命令时,它首先在默认范围内查找该命令的匹配项.如何配置此默认范围?

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

主要的烦恼是,当我输入:

g! help
Run Code Online (Sandbox Code Playgroud)

我得到了结果equinox:help,而不是felix:help,所以我想将felix范围作为默认值.

是否有OSGi框架属性来配置它?

Mar*_*ans 3

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

etc/gosh_profile
Run Code Online (Sandbox Code Playgroud)

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

SCOPE = gogo:*
Run Code Online (Sandbox Code Playgroud)

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