Artikel getagged mit ‘hacken’

Snow Leopard und Java

Was fuer ein Krampf!

Ich habe gerade auf Snow Leopard upgedated und wollte mich dann an meine Java Entwicklung machen, nur um direkt beim ersten Testlauf auf die Nase zu fliegen. Eclipse SWT meldet sich mit “Could not load 32-bit libraries in 64-bit JVM”. Was, wieso dass denn?

Man weiss ja, dass Java 6 bisher in Leopard nur die 64-bit Version hatte. Also habe ich bewusst mit der alten Java 5 Version entwickelt, die in 32-bit ebenfalls installiert ist. Nach etwas rumgraben /System/Library/Frameworks/JavaVM.framework/ habe ich dann fest stellen muessen, dass anscheinend nur noch Java 6 64-bit installiert ist und alle anderen Versionen ersetzt. Ein java -version endet immer in

java version "1.6.0_15"
Java(TM) SE Runtime Environment (build 1.6.0_15-b03-219)
Java HotSpot(TM) 64-Bit Server VM (build 14.1-b02-90, mixed mode)

In den Java-Einstellungen kann man die Reihenfolge fuer Applets auswaehlen, ob 32-bit oder 64-bit gestartet werden soll. Natuerlich war 64-bit als Standard eingestellt. Ein aendern der Reihenfolge hat tatsaechlich zum Erfolg, dass in einem neugestarteten Terminal ein 32-bit Java gestartet wird, java -version

java version "1.6.0_15"
Java(TM) SE Runtime Environment (build 1.6.0_15-b03-219)
Java HotSpot(TM) Client VM (build 14.1-b02-90, mixed mode)

Nur Eclipse hat das nicht interessiert und auch nach einem Neustart immer die 64-bit Variante gestartet. Wie kann es also sein, dass alle Java Versionen im Library Verzeichnis die selbe Installation zugrunde liegt, aber mal 32-bit und mal 64-bit zur Verfuegung stehen?

Auch ohne Watson und jegliche Verwandtschaft zu Sherlock Holmes, habe ich messerscharf kombiniert: “Das muss da irgendwie eingebaut sein”. Nach einem weiteren java -help war dann die Sache klar. Ab heute starten wir unsere 32-bit Java Anwendungen unter Snow Leopard einfach mit dem Schalter -d32, dann wird der 32-bit Modus ausgefuehrt.

java -d32 <hier der Rest>

Ich haette auch einfach die 64-bit Bibliothel von Eclipse SWT nehmen koennen, aber wo bleibt da der Spass?

Tags: , , , ,