2012-08-05 12 views
5

Sto cercando di ottenere il server osgi da Eclipse Juno Release ed eseguirlo autonomamente. Alcuni vecchi tutorial dicono che basta afferrare il org.eclipse.osgi_VERSION.jar è sufficiente per iniziare dalla linea di comando comeServer OSGi (Equinox) standalone su Eclipse Juno

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

Quando provo questo, non mostra il prompt come previsto, ma invece si siede tranquillamente come in attesa di qualcosa accadere.

Tuttavia, posso avviare e installare i pacchetti in modo confortevole eseguendo un ./eclipse -console, che ovviamente non è un'opzione quando si esegue sul server, dove voglio distribuire i pacchetti in fase di runtime.

Alcuni googling hanno rivelato che ho bisogno di raccogliere giare (anche il gogo di Apache Felix) da qui e là, ma non ho trovato nulla di concreto che mi avrebbe permesso di eseguire questa cosa in modo "senza testa".

C'è un modo per farlo in modo pulito e semplice, o suggeriresti di passare ad Apache Felix?

+0

[Questa domanda] (http://stackoverflow.com/questions/9905607/equinox-start-error-console-bundle-is-missed) sembra correlata. –

risposta

1

Dovresti provare Apache karaf. Può essere eseguito con Felix o Equinox e contiene tutto il necessario per un server OSGi decente. Vedere http://karaf.apache.org/

+0

Beh, ad essere onesti, questo è quello che ho fatto alla fine! @Christian Schneider sto guardando attraverso i tuoi messaggi in questo momento ... – Tathagata

1

Prova questo:

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

che non esegue il sever da solo ... avvia anche eclipse. Grazie per aver risposto anche se .. – Tathagata

12

Equinox a Juno non contiene più la console dalla scatola. Ora è contenuto in un bundle separato che implementa la console Equinox sulla shell Apache GoGo.

Pertanto, la configurazione minima di fasci per l'esecuzione Equinox compresa la console è:

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

Per l'esecuzione della console SSH si ha la necessità anche:

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

Inoltre, è necessario utilizzare un'area di configurazione diversa. Equinox legge le impostazioni (come i pacchetti da usare, i loro livelli di avvio, quale applicazione avviare, ecc.) Da config.ini. Così, mentre usi la stessa area di configurazione di Juno, finirai sempre nel tuo ambiente Juno. È possibile danneggiare l'installazione di Juno quando si modifica direttamente il file config.ini.

Un inizio migliore è quello di scaricare il kit di avviamento Equinox Juno OSGi:

Si può anche provare una delle distribuzioni di server OSGi Equinox:

+0

Lo starter kit Juno OSGi è fondamentalmente lo stesso jar che org.eclipse.osgi_VERSION.jar. Dopo molte considerazioni ho deciso di spostarmi da Equinox a Felix (in realtà a Karaf) - principalmente a causa di problemi di manutenzione umana per le esigenze del nostro progetto, piuttosto che su qualsiasi altra cosa. Ma grazie per la tua risposta, ha sicuramente aiutato molto! – Tathagata

0

Questo link fornisce tutti i dettagli riguardanti la nuova console che si basa sul guscio Apache Felix Gogo: http://help.eclipse.org/juno/index.jsp?topic=%2Forg.eclipse.platform.doc.isv%2Fguide%2Fconsole_shell.htm

In brevi fasi sono:

  1. Posizionare i fasci necessari in una cartella. I pacchetti sono: 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. creare una sottocartella di configurazione e un file config.ini con il seguente contenuto

    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] arte, \ osgi.console.enable.builtin = false

  3. Avviare il quadro Equinox con il seguente comando: java-jar org.eclipse.osgi.jar

0

di correre con il vecchio console, è possibile richiamare:

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

si noti che questo sta usando il vecchio (implementazione non Gogo) e il built-in console rischia di essere rimosso a un certo punto. Tuttavia, dovresti prendere in considerazione l'idea di usare la shell Gogo, che è lo standard de facto delle future versioni di Eclipse e Felix.