2012-06-22 25 views
20

Comando:org.osgi.framework.BundleException: Impossibile trovare bundle: org.eclipse.equinox.console

\eclipse-SDK-4.2RC3-win32-x86_64_001\eclipse\plugins>java -jar org.eclipse.osgi_3.8.0.v20120529-1548.jar -console 

eccezione (dai file di log)

!SESSION 2012-06-22 23:36:27.649 ----------------------------------------------- 
eclipse.buildId=unknown 
java.version=1.6.0_25 
java.vendor=Sun Microsystems Inc. 
BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=en_US 
Command-line arguments: -console 

!ENTRY org.eclipse.osgi 4 0 2012-06-22 23:36:28.632 
!MESSAGE Could not find bundle: org.eclipse.equinox.console 
!STACK 0 
org.osgi.framework.BundleException: Could not find bundle: org.eclipse.equinox.console 
    at org.eclipse.osgi.framework.internal.core.ConsoleManager.checkForConsoleBundle(ConsoleManager.java:211) 
    at org.eclipse.core.runtime.adaptor.EclipseStarter.startup(EclipseStarter.java:297) 
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:176) 
    at org.eclipse.core.runtime.adaptor.EclipseStarter.main(EclipseStarter.java:151) 

!ENTRY org.eclipse.osgi 4 0 2012-06-22 23:36:28.663 
!MESSAGE Application error 
!STACK 1 
java.lang.IllegalStateException: Unable to acquire application service. Ensure that the org.eclipse.core.runtime bundle is resolved and started (see config.ini). 
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:74) 
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:353) 
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:180) 
    at org.eclipse.core.runtime.adaptor.EclipseStarter.main(EclipseStarter.java:151) 

Ma il seguente barattolo è disponibile.

org.eclipse.equinox.console_1.0.0.v20120522-1841.jar 

Qualche suggerimento sull'errore sopra riportato?

+2

questo può aiutare http: //www.di gizol.com/2013/11/Eclipse-org-osgi-framework-BundleException-equinox-console.html – lkamal

risposta

24

Per utilizzare la console sono necessari un paio di pacchetti e, se si avvia Equinox utilizzando solo java -jar ..., non si ottengono questi pacchetti.

Il modo più rapido per ottenere questo lavoro è quello di creare un file chiamato configuration/config.ini con il seguente contenuto:

osgi.bundles=file\:[email protected],file:\org.apache.[email protected],file:\[email protected] 

NB si dovrà rivedere i numeri di versione di quei fasci contro ciò che effettivamente hanno. Ho provato questo con SDK-4.2M6, è possibile che alcuni di questi sono cambiati in RC3.

+0

thanks..it funziona per me. –

+0

Grazie! Hai salvato il mio weekend! – Lilia

15

Nelle nuove versioni di equinozio la shell OSGi integrata è stata sostituita alla shell gogo felix. Se vuoi usare la nuova shell devi posizionare i gogo jar e definirli nel tuo file di configurazione.

Tuttavia, se ti è piaciuta la shell di Equinox OSGi devi solo aggiungere la seguente riga al tuo file config.ini per utilizzarla: osgi.console.enable.builtin=true. In questo caso non è necessario aggiungere ulteriori jar o alcuna configurazione.

+1

Come per [Virtage Devblog] (http://devblog.virtage.com/2012/08/osgi-with-equinox-for-beginners-overview/), questa proprietà può anche essere aggiunta come proprietà di sistema, ad es. "-Dosgi.console.enable.builtin = true" – DuffJ

+0

Questo ha funzionato su Eclipse Kepler aggiungendolo come argomenti VM nella configurazione di esecuzione, ma non quando si tenta di eseguire all'esterno da Eclipse (in questo caso, la risposta accettata ha funzionato correttamente). –

1

Sto usando Eclipse Helios ed Eclipse Juno su Ubuntu Linux. Ho avuto lo stesso errore su Eclipse Juno e non ho potuto avviare Eclipse. Non so come, ma la mia versione di Java è stata ridotta a 1.5, che ha causato il problema.

In Eclipse Helios, Java 1.5 causava problemi, ma ero in grado di avviare Eclipse. L'errore che è apparso i Eclipse Helios era:

An internal error occurred during: "Loading Web Service DOM...". 

org.eclipse.emf.ecore.util.EcoreEMap$DelegateEObjectContainmentEList

Aggiornamento alla versione Java per 1.7 ha risolto il problema. Immagino che Eclipse Juno non funzioni con Java 1.5 :)

7

Ho avuto lo stesso problema che ho provato ad aggiungere osgi.console.enable.builtin=true nel file config.ini ma sembra che il file venga ricreato ogni volta che eseguo il progetto come Risolve il problema Esegui Configurazioni -> Argomenti scheda aggiungi -Dosgi.console.enable.builtin=true negli Argomenti VM enter image description here

7

Questo perché la shell di default di Eclipse è stata spostata in "Apache Felix Gogo"; quindi i bundle necessari devono essere aggiunti alla "Run Configuration" prima dell'esecuzione.Seguenti sono i quattro bundle che è necessario selezionare dalla lista:

org.apache.felix.gogo.command_0.10.0v<version>.jar 
org.apache.felix.gogo.runtime_0.10.0v<version>.jar 
org.apache.felix.gogo.shell_0.10.0v<version>.jar 
org.eclipse.equinox.console_1.0.100<version>.jar 

enter image description here

Dopo l'aggiunta di questi come indicato nello schema di cui sopra, il programma viene eseguito senza intoppi.

Riferimento: http://www.digizol.com/2013/11/Eclipse-org-osgi-framework-BundleException-equinox-console.html

0

Provare a utilizzare una nuova area di lavoro. Per forzare la finestra del prompt di lavoro, è necessario modificare le impostazioni in Eclipse_root_dir\configuration\.settings\org.eclipse.ui.ide.prefs e impostare SHOW_WORKSPACE_SELECTION_DIALOG true

0

uno dei variante è scegliere un altro versione java (più vecchio di default), eclissi vecchia versione ha ricevuto l'errore quando si tenta per l'esecuzione su Java 9 errore

sudo update-alternatives --config java 

ho scelto Java 8 e tutto il lavoro

Problemi correlati