Dennis Laumen We who cut mere stones must always be envisioning cathedrals

Java ME-ontwikkeling met 64-bits Ubuntu

Zoals sommigen van jullie gisteren al op Twitter konden lezen, is het per ongeluk verplaatsen van de root van je Linux-systeem is niet aan te raden. Gelukkig ben ik door deze blunder geen data verloren (dankzij mijn vrij strikte backup-beleid en de begeleiding van Pascal de Bruijn). Wel was ik genoodzaakt mijn systeem opnieuw te installeren en dus ook mijn ontwikkelomgevingen opnieuw op te zetten. Een van deze omgevingen is gericht op de ontwikkeling van Java ME-applicaties in de NetBeans IDE. Normaliter werkt dit vlekkeloos op Ubuntu ware het niet dat ik per ongeluk de verkeerde CD-ROM van de stapel pakte en de 64-bits versie van Ubuntu installeerde. Helaas is er nog geen Java ME SDK met 64-bits ondersteuning. Dit hoeft echter geen probleem te zijn met onderstaande instructies.

Deze instructies zijn gebaseerd op de volgende softwarepakketten:

De oplossing begint met het installeren van het Ubuntu-pakket ia32-sun-java6-bin. Dit bevat een aantal 32-bits pakketten welke nodig zijn voor de 32-bits Java ME SDK. Het is mogelijk dit pakket als standaard Java-installatie te specificeren maar dit betekent dat al onze Java-applicaties nu op 32-bits draaien. Omdat ik alle andere Java-code gewoon op 64-bits wil blijven draaien gaan we NetBeans en de Java ME SDK dusdanig configureren dat alleen zij gebruik maken van de 32-bits pakketten.

Ten eerste dienen we het standaard JDK-pad van NetBeans aan te passen. Dit is te vinden in het bestand $NETBEANSHOME/etc/netbeans.conf_ waarbij $NETBEANSHOME_ je NetBeans-installatiemap is. Wijzig hier de variabele netbeansjdkhome_ naar het pad van het zojuist geinstalleerde pakket. In mijn geval ziet dit er als volgt uit:

netbeans_jdkhome="/usr/lib/jvm/ia32-java-6-sun"

Vervolgens dienen we de Java ME-emulator te vertellen waar we deze 32-bits variant kunnen vinden. Dit doen we door het bestand $NETBEANSHOME/mobility8/WTK2.5.2/bin/emulator_ aan te passen. Verander hier de variabele javapathtowtk als volgt:

javapathtowtk=/usr/lib/jvm/ia32-java-6-sun/bin/

Nu kun je aan de slag met Java ME op je 64-bits Ubuntu-installatie! Bij mij werkt bovenstaande oplossing vlekkeloos. Diverse fora afstruinende naar een oplossing kwam ik echter veel mensen tegen bij wie bovenstaande oplossing slechts gedeeltelijk werkte (met name debuggen werkte regelmatig niet). Tevens dient vermeld te worden dat NetBeans nu altijd de 32-bits variant gebruikt. Wil je NetBeans voor meer dingen gebruiken als Java ME-ontwikkeling is het verstandig een tweede NetBeans-installatie te gebruiken voor bovenstaande handelingen. Succes!