2012-02-22 58 views
2

我是OSGi的新手,我試圖將osgi控制檯實現爲一個捆綁包。我應該如何將OSGi控制檯安裝到一個Bundle中?

我需要從我的包中管理其他包/服務。所以我需要能夠至少在已安裝或未安裝的其他服務上使用「ss」,「install」和「unistall」命令。所有這些命令都必須在沒有人工交互的情況下進行管理,因此我必須將其實施到我的應用程序中 該程序將安裝在uPC上,無需連續監控。

我用google搜索到了一個實現OSGi控制檯的方法,但是我找不到任何相關的東西。

我正在使用OSGi 3.7.1並試圖在Equinox上展開。

回答

1

捆綁org.eclipse.osgi看一看類org.eclipse.osgi.framework.internal.core.FrameworkCommandProvider怎麼看的命令執行

+0

非常感謝。我會盡快嘗試! :) – Shide 2012-02-22 09:51:29

1

添加到什麼湯姆說,這個環節可能會派上用場: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

我記得我花了好一段時間才找到這堂課,上次我需要研究它。它可能不是最新版本(我沒有檢查這個),但它應該足以讓你開始跳躍。 「dev.eclipse.org」,模塊「org.eclipse.equinox/framework/bundles/org.eclipse.osgi」上的CVS存儲庫路徑btw是「/ cvsroot/rt」。

對不起,沒有將此添加爲Toms回答的評論,但我沒有權限這麼做。

0

使用org.osgi.framework包中的OSGi Framework API。這是控制檯本身爲了實現這些命令而調用的API。

1

您可以檢查org.eclipse.osgi.framework.internal.core.FrameworkCommandProvider類和org.eclipse.core.runtime.internal.adaptor.EclipseCommandProvider類,您將看到該命令的實現。並且每個命令都可以通過服務訪問「(classobject = org.eclipse.osgi.framework.console.CommandProvider)」過濾器。

相關問題