我该如何将OSGi控制台实现为Bundle?

我是OSGi的新手,我正在尝试将osgi控制台实现为一个捆绑包。

我需要管理我的捆绑包中的其他捆绑/服务。 所以我需要能够至少在已安装或未安装的其他服务上使用“ss”,“install”和“unistall”命令。 必须在没有人工交互的情况下管理所有这些命令,因此我必须将其实现到我的应用程序中。 该程序将安装在uPC上,无需连续监控。

我已经google了将OSGi控制台实现为捆绑的方式,但我发现没有任何相关性。

我正在使用OSGi 3.7.1并尝试使用Equinox。

看一下org.eclipse.osgi.framework.internal.core.FrameworkCommandProvider包中的org.eclipse.osgi类,看看命令是如何实现的

除了汤姆所说的,这个链接可能会派上用场: http : //dev.eclipse.org/viewcvs/viewvc.cgi/org.eclipse.equinox/framework/bundles/org.eclipse.osgi/console/src/org /eclipse/osgi/framework/internal/core/FrameworkCommandProvider.java?view=markup&root=RT_Project 。

我记得上次我需要研究它时花了很长时间才找到这个课程。 它可能不是最新版本(我没有检查过这个),但它应该足以让你快速启动。 CVS存储库路径btw是“dev.eclipse.org”上的“/ cvsroot / rt”,模块“org.eclipse.equinox / framework / bundles / org.eclipse.osgi”。

很抱歉没有将此添加为对Toms回答的评论,但我似乎没有这样做的权限。

你可以知道org.eclipse.osgi.framework.internal.core.FrameworkCommandProvider类和org.eclipse.core.runtime.internal.adaptor.EclipseCommandProvider类,你会看到命令工具。 并且每个Command都可以通过“(classobject = org.eclipse.osgi.framework.console.CommandProvider)”filter访问服务。

使用org.osgi.framework包中的OSGi Framework API。 这是控制台本身为实现这些命令而调用的API。