Eclipse[http://de.wikipedia.org/wiki/Eclipse_%28IDE%29] ist eine mächtige Entwicklungsplattform. Sie wurde ursprünglich für Java gebaut, ist aber aufgrund ihrer Plugintechnologie inzwischen weit darüber hinaus einsetzbar.
Neulich hatte ich das Problem, dass Eclipse auf meinem Gentoosystem nicht starten wollte.
So sah das aus:
nick@shenron ~ $ eclipse-3.4
Exception in thread "main" java.lang.UnsupportedClassVersionError: org/eclipse/equinox/launcher/Main (Unsupported major.minor version 49.0)
at java.lang.ClassLoader.defineClass0(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:539)
[..]
Da ging es noch weiter, aber den Rest sparen wir uns.
Woran lag's? "Unsupported major.minor version 49.0" weißt darauf hin - irgendwas stimmt nicht mit dem installierten Java.
Mal nachgesehen:
nick@shenron ~ $ java -version
java version "1.4.2-03"
Java(TM) 2 Runtime Environment, Standard Edition (build Blackdown-1.4.2-03)
Java HotSpot(TM) Client VM (build Blackdown-1.4.2-03, mixed mode)
In der Tat. Neulich beim letzten Merge war mir aber aufgefallen: Ich hatte natürlich auch Suns Java-Implementierung auf dem System. Parallel zum veralteten Blackdown[http://de.wikipedia.org/wiki/Blackdown]; die Frage war nur, wie komm' ich dran?
In solchen Fällen nie verkehrt: Ein Blick ins //eselect// (app-admin/eselect).
nick@shenron ~ $ eselect help
Usage: eselect
Global options: --brief Make output shorter --no-color,--no-colour Disable coloured output
Built-in modules: help Display a help message usage Display a usage message version Display version information
Extra modules: bashcomp Manage contributed bash-completion scripts binutils Manage installed versions of sys-devel/binutils [..] java-vm Manage the Java system and user VM [..]
Üblicherweise beherrscht so ein Eselect-Modul den Dreiklang //show//, //list//, //set//.
Also der Reihe nach:
nick@shenron ~ $ eselect java-vm show
Current system-vm
blackdown-jdk-1.4.2
Current user-vm
blackdown-jdk-1.4.2
Das änderte ich mit:
nick@shenron ~ $ eselect java-vm set
!!! Error: Usage [user|system] [vm]
exiting
Gut. Da fehlte erstmal noch was. Zum einen musste ich noch aussuchen, ob ich die Änderung für den User oder das System durchführen wollte, und zum anderen wollte //eselect// noch die Nummer der Java-Implementierung haben ("vm"). An die kommt man mit list:
nick@shenron ~ $ eselect java-vm list
Available Java Virtual Machines:
[1] blackdown-jdk-1.4.2 system-vm
[2] sun-jdk-1.5
[3] sun-jdk-1.6
Also, nochmal:
nick@shenron ~ $ eselect java-vm set user 3
Alles ging gut, denn das System meldete sich gleich mit dem Kommandoprompt wieder - //no news are good news//.
Und tatsächlich: Eclipse startete nun ohne zu murren. Darauf einen Kaffee.

Andere Kommentare