2012-08-05 18 views
5

Ich versuche, den osgi-Server von der Eclipse Juno Release zu bekommen und es eigenständig laufen zu lassen. Einige alte Tutorials sagen, dass packte gerade die org.eclipse.osgi_VERSION.jar genug, um es von der Kommandozeile zu starten, wieStandalone OSGi (Equinox) Server auf Eclipse Juno

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

Wenn ich versuche, das, es zeigt nicht die prompt wie erwartet, aber stattdessen sitzt ruhig, als ob etwas warten passieren.

Allerdings kann ich bequem starten und installieren Bundles, indem Sie eine ./eclipse -console, die offensichtlich keine Option beim Ausführen auf dem Server, wo ich Pakete zur Laufzeit bereitstellen möchten.

Einige googeln ergab, dass ich Gläser (sogar Apache Felix Gogo) von hier und da sammeln muss, konnte aber nichts Konkretes finden, das mir erlauben würde, dieses Ding in einer "kopflosen" Weise zu führen.

Gibt es eine Möglichkeit, dies auf eine saubere und einfache Weise zu tun, oder würden Sie vorschlagen, zu Apache Felix zu wechseln?

+0

[Diese Frage] (http://stackoverflow.com/questions/9905607/equinox-start-error-console-bundle-is-missed) scheint verwandt zu sein. –

Antwort

1

Sie sollten Apache Karaf probieren. Es kann mit Felix oder Equinox laufen und enthält alles, was Sie für einen guten OSGi-Server benötigen. Siehe http://karaf.apache.org/

+0

Nun, um ehrlich zu sein, das ist, was ich am Ende verwendet habe! @Christian Schneider Ich schaue gerade durch deine Beiträge ... – Tathagata

1

Try this:

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

, die den Server nicht alleine laufen lässt ... startet damit auch die Eclipse. Danke für die Antwort .. – Tathagata

12

Equinox in Juno enthält nicht mehr die Konsole aus dem Kasten heraus. Es ist jetzt in einem separaten Paket enthalten, das die Equinox-Konsole über der Apache GoGo-Shell implementiert.

Somit ist die minimale Setup von Bündeln für Equinox Lauf einschließlich der Konsole ist:

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

für den Betrieb der SSH-Konsole man auch benötigt:

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

Zusätzlich müssen Sie einen anderen Konfigurationsbereich verwenden. Equinox liest die Einstellungen (wie die zu verwendenden Bundles, ihre Startlevel, welche zu startende Anwendung usw.) aus der config.ini. Wenn Sie also denselben Konfigurationsbereich wie Juno verwenden, landen Sie immer in Ihrer Juno-Umgebung. Sie können Ihre Juno-Installation beschädigen, wenn Sie die config.ini direkt ändern.

einen besseren Start ist die Equinox Juno OSGi-Starter-Kit zum Download:

Sie auch eine der OSGi Equinox Server-Distributionen ausprobieren können:

+0

Das Juno OSGi Starter Kit ist im Grunde das gleiche Glas, org.eclipse.osgi_VERSION.jar. Nach reiflicher Überlegung habe ich mich entschieden, von Equinox zu Felix (eigentlich zu Karaf) zu wechseln - hauptsächlich wegen menschlicher Wartungsprobleme für unsere Projektbedürfnisse, als bei irgendetwas anderem. Aber danke für deine Antwort, es hat definitiv sehr geholfen! – Tathagata

0

Dieser Link alle Details über die neue Konsole bereitstellt, die auf Apache Felix Gogo Shell basiert: http://help.eclipse.org/juno/index.jsp?topic=%2Forg.eclipse.platform.doc.isv%2Fguide%2Fconsole_shell.htm

Kurz Schritte sind:

  1. die notwendigen Pakete in einem Ordner. Die Bündel sind: 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. eine Konfiguration Unterordner erstellen und config.ini-Datei mit folgendem Inhalt

    osgi.bundles =./org .apache.felix.gogo.runtime_0.8.0v.jar @ start, \ ./[email protected], \ ./org.apache.felix.gogo.shell_0 .8.0v.jar @ start, \ ./[email protected] Kunst, \ osgi.console.enable.builtin = false

  3. den Equinox-Framework mit dem folgenden Befehl starten: java -jar org.eclipse.osgi.jar

0

laufen mit dem alten Konsole können Sie aufrufen:

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

Beachten Sie, dass dies die alte (nicht-Gogo-Implementierung) verwendet und die integrierte Konsole wird wahrscheinlich irgendwann entfernt werden. Sie sollten jedoch in Betracht ziehen, stattdessen mit der Gogo-Shell zu arbeiten, die der De-facto-Standard für zukünftige Versionen von Eclipse und Felix ist.