2012-06-22 6 views
20

Command:org.osgi.framework.BundleException: Nie można odnaleźć pakiet: 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 

Exception (z plików 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) 

Ale dostępny jest następujący słoik.

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

Jakieś sugestie dotyczące powyższego błędu?

+2

To może pomóc http: //www.di gizol.com/2013/11/Eclipse-org-osgi-framework-BundleException-equinox-console.html – lkamal

Odpowiedz

24

Potrzebujesz kilku pakietów zainstalowanych w celu korzystania z konsoli, a jeśli uruchomisz Equinox używając tylko java -jar ..., nie dostaniesz tych pakietów.

Najszybszym sposobem uzyskania tej pracy jest utworzenie pliku o nazwie configuration/config.ini o następującej treści:

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

NB trzeba będzie przejrzeć numery wersji tych wiązek przeciwko temu, co faktycznie mają. Próbowałem tego z SDK-4.2M6, możliwe, że niektóre z nich zmieniły się w RC3.

+0

dzięki ... to działa dla mnie. –

+0

Dziękujemy! Uratowałeś mój weekend! – Lilia

15

W nowych wersjach równonocy wbudowana powłoka OSGi została zastąpiona powłoką felix gogo. Jeśli chcesz użyć nowej powłoki, musisz umieścić słoiki gogo i zdefiniować je w pliku konfiguracyjnym.

Jeśli jednak spodobała ci się muszla OSino Equinox, musisz po prostu dodać następującą linię do pliku config.ini, aby go użyć: osgi.console.enable.builtin=true. W tym przypadku nie ma potrzeby dodawania dodatkowych słoików lub jakiejkolwiek konfiguracji.

+1

Zgodnie z [Virtage Devblog] (http://devblog.virtage.com/2012/08/osgi-with-equinox-for-beginners-overview/) tę właściwość można również dodać jako właściwość systemu, np. "-Dosgi.console.enable.builtin = true" – DuffJ

+0

To działało na mnie w Eclipse Kepler dodając go jako argumenty VM w konfiguracji Run, ale nie podczas próby uruchomienia na zewnątrz z Eclipse (w tym przypadku, zaakceptowana odpowiedź działała dobrze). –

1

Używam Eclipse Helios i Eclipse Juno na systemie Ubuntu Linux. Miałem ten sam błąd w Eclipse Juno i nie mogłem uruchomić Eclipse. Nie wiem jak, ale moja wersja Java została zmniejszona do 1.5, co spowodowało problem.

W środowisku Eclipse Helios Java 1.5 powodowała problemy, ale udało mi się uruchomić Eclipse. Błąd, który pojawił się i był Eclipse Helios:

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

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

Aktualizacja wersji Java do 1,7 rozwiązał problem. Chyba Eclipse Juno nie działa z Javą 1.5 :)

7

Miałem ten sam problem Próbowałem dodać osgi.console.enable.builtin=true w pliku config.ini, ale wygląda na to, że plik jest odtwarzany za każdym razem, gdy uruchamiam projekt w taki sposób Rozwiązuję problem Uruchom konfiguracje -> zakładka Argumenty dodaje -Dosgi.console.enable.builtin=true w Argumenty VM enter image description here

7

Dzieje się tak, ponieważ domyślna powłoka Eclipse została przeniesiona do "Apache Felix Gogo"; więc niezbędne pakiety muszą zostać dodane do "Uruchom konfiguracji" przed uruchomieniem.Poniżej przedstawiono cztery powiązane, że trzeba wybrać z listy:

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

Po dodaniu tych, jak pokazano na powyższym wykresie, program działa płynnie.

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

0

Spróbuj użyć nowego obszaru roboczego. Aby wymusić okno wiersza roboczy, trzeba zmienić ustawienia w Eclipse_root_dir\configuration\.settings\org.eclipse.ui.ide.prefs i ustawić SHOW_WORKSPACE_SELECTION_DIALOG true

0

jednym z wariantów jest wybrać inny wersji Java (starsze niż domyślnie), Eclipse stara wersja got błąd podczas próby uruchomić na java 9 błędów

sudo update-alternatives --config java 

Wybrałem java 8 i wszystkie prace