2012-08-05 59 views
5

我試圖從Eclipse Juno Release獲取osgi服務器並單獨運行它。一些老的教程說,只抓住了org.eclipse.osgi_VERSION.jar足以從命令行啓動它Eclipse Juno上的獨立OSGi(Equinox)服務器

java -jar org.eclipse.osgi_VERSION.jar -console 

當我嘗試的是,它並沒有顯示提示符預期,而是安安靜靜地坐在彷彿在等待着什麼即將發生。

但是,我可以通過執行./eclipse -console來舒適地啓動和安裝捆綁軟件,在服務器上運行時顯然不是一種選擇,我希望在運行時部署捆綁軟件。

一些Google搜索顯示我需要從各處收集罐子(甚至是Apache Felix的gogo),但是找不到任何具體的東西讓我以「無頭」的方式運行這個東西。

有沒有辦法以乾淨和簡單的方式來做到這一點,或者你會建議轉向Apache Felix?

+0

[這個問題](http://stackoverflow.com/questions/9905607/equinox-start-error-console-bundle-is-missed)似乎有關。沒有單獨運行服務器的 – 2012-08-06 06:28:43

回答

1

你應該試試Apache karaf。它可以與Felix或Equinox一起運行,幷包含您需要用於體面的OSGi服務器的所有內容。見http://karaf.apache.org/

+0

說實話,這是我最終採取的措施! @Christian Schneider我現在正在查看你的帖子... – Tathagata 2012-08-11 19:48:22

1

試試這個:

java -classpath ./plugins/org.eclipse.equinox.launcher_1.3.0.v20120522-1813.jar 
    org.eclipse.equinox.launcher.Main -console 
+0

......也啓動了eclipse。感謝您的回答.. – Tathagata 2012-08-05 18:21:45

12

Equinox在朱諾也不再包含控制檯開箱。它現在包含在一個單獨的捆綁包中,該捆綁包在Apache GoGo shell之上實現Equinox控制檯。

因此,束的運行春分包括控制檯最小的設置是:

  • org.eclipse.osgi
  • org.eclipse.equinox.console
  • org.apache.felifx .gogo.command
  • org.apache.felifx.gogo.runtime
  • org.apache.felifx.gogo.shell

對於運行SSH控制檯一個還需要:

  • org.eclipse.equinox.console.ssh
  • org.apache.mina.core
  • org.apache.sshd.core

此外,您需要使用不同的配置區域。 Equinox從config.ini中讀取設置(如要使用的捆綁包,它們的啓動級別,啓動的應用程序等)。因此,就像您使用與Juno相同的配置區域一樣,您總是會在Juno環境中結束。直接修改config.ini時,您可能會損壞Juno安裝。

一個更好的開始是下載春分朱諾OSGi的入門套件:

您也可以嘗試在OSGi Equinox的服務器發行版之一:

+0

Juno OSGi入門套件與org.eclipse.osgi_VERSION.jar基本相同。經過多方考慮,我決定從Equinox轉移到Felix(實際上轉移到Karaf) - 主要是因爲我們項目需要的人力維護問題,而不是其他任何問題。但謝謝你的回答,這肯定有很大的幫助! – Tathagata 2012-08-11 19:53:05

0

此鏈接提供了所有關於新主機是基於Apache的菲利克斯勾勾殼的細節:http://help.eclipse.org/juno/index.jsp?topic=%2Forg.eclipse.platform.doc.isv%2Fguide%2Fconsole_shell.htm

總之步驟是:

  1. 放置一個文件夾中的必要的管束。捆綁包有: org.apache.felix.gogo.command_0.8.0v.jar org.apache.felix.gogo.runtime_0.8.0v.jar org.apache.felix.gogo.shell_0.8.0v.jar org.eclipse.equinox.console_1.0.0v.jar org.eclipse.osgi.jar

  2. 創建配置子文件夾,具有以下內容的config.ini文件

    osgi.bundles =。/組織.apache.felix.gogo.runtime_0.8.0v.jar @ start,\ ./[email protected],\ ./org.apache.felix.gogo.shell_0 .8.0v.jar @ start,\ ./[email protected]技術中,\ osgi.console.enable.builtin =假

  3. 先從低於命令春分框架: Java的罐子org.eclipse.osgi.jar

0

要與舊的運行控制檯,可以調用:

java -Dosgi.console.enable.builtin=true -jar org.eclipse.osgi_VERSION.jar -console

注意,這是使用舊的(非執行勾勾)和內置控制檯很可能在某個時候被刪除。但是,您應該考慮使用Gogo shell運行,這是未來Eclipse和Felix版本的事實標準。