Equinox 3.8.1的命令行啓動

因爲不少網上文檔說的直接運行java -jar org.eclipse.osgi.xx.jar來啓動的方式實際上不會啓動org.eclipse.console因此並不能在命令行顯示和交互,雖然啓動了OSGi容器可是使用者沒法交互和操做,惟一能看到的就是日誌中報錯。因此本身嘗試成功後記錄下來,以備回顧。java

1,從Eclipse安裝目錄找出OSGi啓動並輸出到命令行的全部jar:shell

org.eclipse.osgi_3.8.1.v20120830-144521.jar org.eclipse.equinox.console_1.0.0.v20120522-1841.jar org.apache.felix.gogo.runtime_0.8.0.v201108120515.jar org.eclipse.osgi.services_3.3.100.v20120522-1822.jar org.apache.felix.gogo.shell_0.8.0.v201110170705.jar org.apache.felix.gogo.command_0.8.0.v201108120515.jar org.eclipse.osgi.util_3.2.300.v20120522-1822.jarapache

很奇怪,這裏面爲何有felix的jar包,並且是在eclipse的安裝目錄中找到的,多是eclipse放棄了自家的交互shell,直接吸取felix的功能了?eclipse

2,編寫啓動equinox的配置,也就是設定各個jar的啓動順序,不然equinox不會加載bundle。在目錄中找到或新建子目錄configuration,該目錄下簡歷config.ini文件,內容以下: osgi.bundles=org.eclipse.equinox.console_1.0.0.v20120522-1841.jar@start,
org.apache.felix.gogo.runtime_0.8.0.v201108120515.jar@start,
org.eclipse.osgi.services_3.3.100.v20120522-1822.jar@start,
org.apache.felix.gogo.shell_0.8.0.v201110170705.jar@start,
org.apache.felix.gogo.command_0.8.0.v201108120515.jar@start,
org.eclipse.osgi.util_3.2.300.v20120522-1822.jar@startui

3,命令行啓動輸入命令:java -jar org.eclipse.osgi_3.8.1.v20120830-144521.jar -console 啓動成功,顯示osgi>。 這裏奇怪的問題是在沒有配置2步驟時,啓動osgi會在日誌裏報錯找不到bundle org.eclipse.equinox.console,非常神奇。難道org.eclipse.osgi不徹底是自包含的,它知道本身要依賴equinox.console的包?命令行

相關文章
相關標籤/搜索