Eclipse1 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 Blackdown2; 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> <module name> <module options>
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.
Kommentare