Java/Midlet Environment IBM J9 *with* JSR-75 support (updated)
This is an updated entry of the original post from November 2006. This article deals with the installation of the Java environment on mobile devices.
I have received a lot of feedback, a few comments as well as supporting requests that are concerned with Java on mobile devices. Recently I also received a comprehensive update from Fred Gnuechtel (IBM) regarding the Java environment on mobile devices. See below.
First of all: IBM J9 is from my point of view the best and most complete Java Runtime for mobile devices. So that’s good news ;)
Palm users have an easy life to install this: They can easily download and install a fully maintained IBM J9 directly from Palm for 5$ or so, including the JSR-75 file I/O framework. are left out of the game and Java is no longer available: http://www.palm.com/us/support/jvm/index.html. Too bad, sorry!
For Windows Mobile users it was more difficult in the past to have a working IBM J9 installation, since it was down to the vendors whether they installed IBM J9 or not, which unfortunately did not happen too often. In the past I provided a small tutorial here on how to get J9 installed from IBM’s open source development environment.
However, according to Fred Gnuechtel from IBM it seems to be not a legitimate way to do things and IBM has removed the most visible J9 sources. I was not aware of this and have removed the tutorial for obvious reasons.
But there are very good news for you still: Handago.com offers now a IBM Java environment for various Windows Mobile phones. Sounds like not too much “tinkering” to get a IBM J9 installation! Super :)
Kudos to IBM and Handago for making J9 available to the end-user now.
Information provided by Fred Gnuechtel (IBM):
I can provide the links, but Handango tends to reorganize their WEB site about once a quarter and then i have to do on a WEB safari to find where they went. So please be aware that you may have to update them from time to time. They also force you down a path of selecting a device and then telling you that J9 is not supported on it. You have to ignore this. Again, this is part of the Hanango WEB sites effort to reduce their support cost and returns. Here is a copy of the note that i send when someone contacts me either from the IBM site or sites like yours…..
IBM’s “Websphere Everyplace Micro Environment” (WEME) conforms to the Java ME specification and is available in both of the JavaME defined configurations. For small volumes business deployments low volumes ( 1- 10’s) and individual copies for personal use, the IBM Java ME virtual machine (WEME) may be purchased from our business partner, Handango for $25 USD per license (device).. All of our Java runtimes that are available from Handango are Java ME certified and we provide solutions for various Java ME profiles and operating systems. These are made available “as is” – no support. (this means you will be on your own using forums on the web). WEME is based on IBM’s J9 Virtual Machine technology.
Our WM5 runtime works just fine on PocketPC 2003, PocketPC 2003 SE and WM6. Our WinCE 5 runtimes will run on WinCE 4.2 but NOT on WinCE 6.
There are actually 2 Java ME configurations and IBM supports both of them. It is important to use the one that supports your application and specific device type.
CLDC+MIDP (for Midlets)
or
CDC+Foundation+Personal ( for Applet/Applications)Note that we no longer support CDC 1.0, Foundation 1.0 and PPro 1.0. We have moved up to the 1.1 versions.
Also, we do support Smartphone (button navigation – no touch scree) but only with MIDP. Our PPro implementation requires a touch screen.
Our Windows Mobile JVM’s are written to the ARM instruction set and will work on any ARM based processors such at the Intel PXA 2xx, TI OMAP, Freescale and Samsung processors that run WM5/6 or WinCE.
Please note that these runtimes from Handango are provided “As Is” with no warranty or support expressed or implied. Our Business Partners can provide Licenses and support for a fee.
MIDP 2.0 for Windows Mobile 5 Smartphone
(button navigation – no touch screen):
http://www.handango.com/PlatformProductDetail.jsp?siteId=1&osId=855&jid=121FDF13D35AC718E2C9768DDFFC3E5X&platformId=11&N=4294921609&Ntt=websphere&R=203653&productId=203653MIDP 2.0 for Windows Mobile 5 PDA and Phone Edition devices with QVGA Screen Resolution
(PDA style touch screen device – low or standard resolution screen 320×240):
http://www.handango.com/PlatformProductDetail.jsp?siteId=1&osId=849&jid=121FDF13D35AC718E2C9768DDFFC3E5X&platformId=2&N=4294923386&Ntt=websphere&R=203649&productId=203649MIDP 2.0 for Windows Mobile 5 PDA device with VGA Screen Resolution
(PDA style device – high resolution touch screen 640×480):
http://www.handango.com/PlatformProductDetail.jsp?siteId=1&osId=807&jid=121FDF13D35AC718E2C9768DDFFC3E5X&platformId=2&N=4294926649&Ntt=websphere&R=203654&productId=203654Personal Profile 1.1 for Windows Mobile 5 PDA device with Touch Screen
(PDA style device – touch screen) :
http://www.handango.com/PlatformProductDetail.jsp?siteId=1&jid=734756B7A126CXFF4483XD5B5D82CEA4&platformId=2&N=0&productId=204403&merch=more_author_titles&HDGO_ad=mat_204403&HDGO_au=1&HDGO_ae=cPersonal Profile 1.1 for Windows CE 5.x PDA device with Touch Screen ( WinCE 5 Professional – not WinCE Core)
(PDA style device – touch screen):
http://www.handango.com/PlatformProductDetail.jsp?siteId=1&jid=734756B7A126CXFF4483XD5B5D82CEA4&platformId=2&N=0&productId=212765&merch=more_author_titles&HDGO_ad=mat_212765&HDGO_au=1&HDGO_ae=cWhen downloading from Handango, you may get a warning that says this is incompatible with your device. Please ignore this warning and click though to complete your transaction.
The file you download is a Windows/x86 Install shield (EXE) that you must run on your PC. It presents you with the License Agreement and then copies the files to your PC. You then have to manually copy the LIB and BIN directories to your device using ActiveSync. Unfortunately, we do not provide a CAB files on some of our runtime packages. This is also something that our Business Partners could provide.
Unfortunately, you are correct about the Palm JVM.
IBM does not have the licensing rights to distribute the PalmOS version of Websphere Everyplace Micro Environment (WEME) the JavaME JVM. The port was done under license by PalmSource who was acquired by Access in Japan. several years ago. I believe that Palm’s license with Access has now run out and that is why Palm has removed the runtime form their WEB site. On top of this, Access has also dropped their agreement with IBM.
Regards, Fred
And some extra information:
A lot of the people that install the CDC-PPro JVM don’t realize they have to create a LNK file to get their application loaded and running. Here is the note I send for that:……….
Here are a couple examples of Windows Mobile shortcut (LNK) files…..
This link will open a console window so you can check for any errors:
255#\path\bin\j9.exe -jcl:ppro11 -cp \path\my-app.jar my-app-main-class
These example links will run without a console window:
255#\path\bin\j9w.exe -jcl:ppro11 -cp \path\my-app.jar my-app-main-class
255#”\my path\bin\j9w.exe” -jcl:ppro11 -cp “\my path\my-app.jar” my-app-main-class
If the JVM files are organized into a path structure of:
\path\bin\jvm-exe-dll-files
\path\lib\jvm-class-library-files
then paths to the jvm class library files are not required in the LNK file.All LNK files must conform to the following rules….
1 – if any parm includes a space char then the entire parm must be inside double-quote marks
2 – the entire command line must be on 1 single line, multi-line LNK files are not permitted
3 – the entire LNK file must be no more that 255 bytes max, must shorten commands or paths if longerRegards,
Fred
December 21st, 2006 at 3:36 pm
Hello Markus,
I want to install minipauker on an Pocket PC/PDA running MS Mobile.
I was successful with installing Java/Midlet enviroment from IBM.
The only problem i have is to install minipauker (Step 8 from your description).
I see a progreess bar saying: Installing a MIDLet from “/pauker-1.6-1-jar”
Near the end, i got a errormessage: The apllication descriptor was missing the required MIDlet-Name field.
And minipauker seems not to be installed.
Do you have any idea, what could be wrong ?
kind regards
erwin
January 3rd, 2007 at 4:37 am
I downloaded the CLDC 1.1/MIDP 2.0 for Windows Mobile 5.0/ARM and don’t get the directories you say — instead the file (ibm-weme-wm50-arm-midp20_6.1.1.20061110-161633.exe) contains directories like com, ice, org — have things changed?
December 30th, 2006 at 10:43 am
Dear Erwin,
Please copy the jar and jad to the same place and then install the jad instead of the jar. Should work ;)
Best regards,
Markus
January 3rd, 2007 at 10:44 am
Dear Jonathan, I have updated the instructions. It seems the Windows based file contains a nested zip file which you have to unzip to get what we want ;) Good luck!
January 22nd, 2007 at 1:52 pm
Dear Markus,
I’m having the same problem as Jonathan. Installing ibm-weme-wm50-arm-midp20_6.1.1.20061110-161633.exe won’t work either. The installer will just show up a white window and nothing happens.
Hope you can help us out.
Thanks, Wouter
January 23rd, 2007 at 12:53 pm
Dear Wouter,
I have updated the blog entry. Windows based installer is a bit more complicated I am afraid. However, you say you only get a white window ??? Have you installed a JAVA Runtime on your desktop ? The Windows installer is based on a Java installer. Don’t know why people/companies make it so hard to provide something so simple ;)
Good luck,
Markus
February 7th, 2007 at 9:33 pm
[...] Actually…harder that you would think LOL!! I found the one you mentioned, but when it comes to the ‘w’….nothing. I did find one though, but with all the steps and manipulating, I have to wonder if it is worth it, or how safe to the phone it is to try…here it is if anybody is interested:markus.brosch.net » Blog Archive » Java/Midlet Environment IBM J9 *with* JSR-75 support (updated) [...]
May 5th, 2007 at 7:56 pm
Markus !!! You are a legend !!! Have spent days and days trying to get file IO to work on my Smartphone with Windows Mobile 5 loaded. It comes with it’s own version of JVM from Intent and the service provider decided in their wisdom (no doubt with bandwidth profits in mind) to leave the JSR 75 file package off. It is sooo badly documented anywhere. Yours is the only working solution. Many many thanks !!!!
May 7th, 2007 at 11:27 am
I second that! Thank you for this guide!
June 2nd, 2007 at 2:33 am
Peter
So you got this working on WM5.0? I am having no luck at all with a Treo 750 running WM50 smartphone edition – I can see the directory “Storage Card” but when I use JSR75 to browse I keep getting java IOEXceptions file://localhost/Storage20Card!
June 7th, 2007 at 2:11 pm
Markus, many thanks. Brilliant guide!
With your help I could get MGMaps with local maps to run on my WM6 device.
Though I still have a prob with Trekbuddy, because the gui won’t allow me to enter a ‘%’ (as part of file:///Storage%20Card/
I haven’t found a workaround for that silly prob yet :(
June 7th, 2007 at 6:50 pm
Found the solution for entering a ‘%’ in MIDlet textboxes, by using XT9 speed typing. In e.g. Quick Notes type a word with a ‘%’ and start typing the same word in the MIDlet textbox until XT9 proposes it, then simply select it. Crazy, but it’s the only way :)
June 18th, 2007 at 2:34 pm
:) Dear Markus and users,
i followed all the steps in this tut but i allways seem to have the following problem:
when I try to open ‘emulator.exe’, i get the ‘emulator.exe is not a valid pocket pc app’! i get that on every exe files!!
anybody knows what must i do? i’m on windows mobile5.in a Asus MyPal a636
thanks in advance :)
miguel andrade
June 21st, 2007 at 6:05 pm
Just installed the J9. Thanks a bunch!
June 21st, 2007 at 6:14 pm
Just installed the J9. Thanks!
I first faced with the weird Exception from emulator.exe which says it cannot download the jad files. Then, I found out that I mistyped the URL. It has to be “file:///{path}” instead of “file://{path}” (Note that there is THREE SLASHES)
June 27th, 2007 at 6:27 pm
[...] It’s also talked about in this post. [...]
June 28th, 2007 at 8:33 pm
[...] Finally, I got MGMaps work with IBM J9 with loaded the following 2 files which is post here and [...]
July 28th, 2007 at 1:58 am
I too am getting the “johnathan error” lol
where is that update you where talking about.. , o yeah.. thanks :)
August 7th, 2007 at 8:56 pm
Hi Markus! I work mainly with Pauker 1.7.5. I managed to run MiniPauker on my VPA-Mobilephone with the “MIDlet Manager”. Minipauker seems to be working just fine, but I can’t find a way to import my regular Pauker files. Do they have to be placed in a certain directory?
Thank for the great work,
Björn
August 10th, 2007 at 12:06 pm
[...] Following instructions on mgmaps and markus.brosh.net I got mgmaps going on my PocketLoox PocketPC – and in the process got the IBM J9 Java/Midlet [...]
August 22nd, 2007 at 4:56 pm
Hi all,
Markus, many thanks. Brilliant tutorial!
One question, is there some update for ibm j9 that supports “video.sun.rgb565: capture”?
Thanks
August 22nd, 2007 at 10:37 pm
I installed J9 additional to my preinstalled MIDlet Manager and now everything (including importing from Pauker) works perfect. Thanks a lot.
September 21st, 2007 at 3:05 pm
Whow did you found that ?
It’s amazing.
Thanks a lot!
September 22nd, 2007 at 8:35 am
dear markus,
i dont have IBM product so where i get IBM J9 that freeware
October 7th, 2007 at 11:48 pm
Hi,
I found the above instructions on another web site and was able to successfully install J9 on my Motorola Q. I am able to launch the emulator and successfully install a midlet over http.
But, the problem I’m facing is when launching the midlet. When I select my midlet for launching, I get a message saying “Please wait…” and the title is set to “IBM MIDP 2.0″. But, then the title changes to “IBM MIDP” and the screen below is completely blank.
Has anyone encountered this before?
Thanks for your help.
October 8th, 2007 at 6:07 am
Works great on my Treo 750! gmail.jad works!
Good instructions. Very worth the time!
–
Joe
October 8th, 2007 at 6:12 am
Oh yeah tip for new users on Windows 5.0:
once you have copied your jar/jad to your device and have ran and clicked install for the emulator.exe
you do not have to type ‘file://’ before your file’s name
For Example, I copied gmail.jad directly in ‘My Device’ folder. So when prompted by the emulator.exe installer I just typed:
gmail.jad
then ok and it will install. So if you copy something in My Device\\Temp
I think you just have to type:
Temp\gmail.jad
–
Joe
October 16th, 2007 at 3:40 pm
Using these directions I was able to install the emulator fine on my WM5 device, and can run the program I wanted to through it (Opera Mini). Now – is there a way to set up a menu link that will run the pre-selected .jad file when clicked, rather than having to go to the list of .jad files each time? I tried using the -Xdescriptor command line in the shortcut, but must be doing something wrong. (Obviously I don’t know that much about Java.)
October 18th, 2007 at 12:38 pm
put this into a txt file, and then change myapp and paths to your paths.
after that rename it to .lnk and that’s it. hope that it helps..
255#”\J9\MIDP20\bin\j9midp20.exe” -classpath “\J9\MIDP20\apps\MyApp.jar” “-jcl:midp20″ “-Xbootclasspath:\J9\MIDP20\lib\jclMidp20\jclMidp20.jxe” javax.microedition.lcdui.AppManager “\J9\MIDP20\apps\MyApp.jad”
October 28th, 2007 at 2:09 pm
Thank you so much for this.
November 5th, 2007 at 11:36 pm
[...] You probably downloaded the java file and don’t have a JVM installed. I’m not sure about the current release version but the Opera Mini beta (which brings all the cool features to the table that make it Opera useful) requires a Java environment. I went through this the other day and actually decided against using it afterwards because I wasn’t happy with some of the features. I found a version of Deepfish that I have been playing with instead. The URL below describes how you can install the J9 JVM…it’s a bit of a manual process. There are other JVMs out there but I am not familiar with them. markus.brosch.net » Blog Archive » Java/Midlet Environment IBM J9 *with* JSR-75 support (updated) [...]
December 23rd, 2007 at 8:41 pm
Like Wouter, even I get a white screen. The first time I ran the emulator it worked alright but I tried to install gmap (a progam JAD) not knowing that it was already installed on my HTC Touch. After that I always get a white screen without the comment or the text box where you enter the JAD’s location. The emulator does not even close, I have to restart my PDA to get rid of it. Please advice
Thanks
Razi
February 3rd, 2008 at 4:24 pm
Doaes this work on WM2003?
February 3rd, 2008 at 4:32 pm
Me again! Great job! It works on wm2003! But i can’t make it work with 3d java games :( Still, great thing!!!!!
February 15th, 2008 at 12:11 pm
hi…I installed the j9 on my PDA Mio/P350 and the i/o suport. I wrote a midlet which should list the files from a directory. But when I run the midlet i get a white screen and after that it exits. Can someone help me?
try {
FileConnection fc = (FileConnection)Connector.open(“file:///CFCard/”);
Enumeration filelist = fc.list(“*”, true);
while(filelist.hasMoreElements()) {
mForm.append(filelist.nextElemement()+”\n”);
}
fc.close();
} catch (IOException e) {
e.printStackTrace();
}
March 7th, 2008 at 6:00 pm
@Cristyrazvan yes, it works on WM2003
May 11th, 2008 at 1:10 pm
hi markus, i have just installed j9 into my ipaq 6340 and its working, but when i enter the url of my jar files, it is telling me “scheme not found:files” or “exception error when opening jar”. please can you tell me how to install my jars.
thanks
May 19th, 2008 at 1:23 pm
The “Download the IBM J9″ link seems to be outdated and I can’t find the new position. Any idea?
Also, I’ve got a WM6 smartphone, any chance J9 will work on it?
Thanks, Eric
May 25th, 2008 at 5:13 am
the IBM J9 download link is no longer available, any other minors/download links?
June 3rd, 2008 at 7:12 pm
IBM had a lot of problems with piracy of J9 and has removed the most visable J9 and Websphere Everyplace Micro Environmnet pages. There are a number of WEB sites that are illegally offering J9 technology for sale. The only legitimate site is http://www.handango.com for Windows Mobile and WinCE JVM’s. If you drop me a line, I can forward a link to specific JVM’s. They are very difficult to fine due to the way Handango has set up their site. Unfortunately, the PalmOS JVM is no longer available through any legitimate channel. The port was done under license by PalmSource who was acquired by Access in Japan. several years ago. I believe that Palm’s license with Access has now run out and that is why Palm has removed the runtime form their WEB site. On top of this, Access has also dropped their agreement with IBM. Fred Gnuechtel, gnue@us.ibm.com, 512 838 0842
September 12th, 2008 at 2:36 pm
I have the same problem as Bjorn (above, Aug 07). I have J9, had it for ages, minipauker installs and runs fine, but when I want to open a file that I created with the desktop version of pauker, I go \”open & import\” then \”open from session\” and all I get is a blank screen. I wonder if there\’s a particular folder I have to place the files in for minipauker to find them?
September 19th, 2008 at 11:17 am
Hi all,
I need your help. I am writing a mobile standalone application in java, and need to read a value from the PPC windows(Windows CE 5.0) registry…
Could anyone, please, give me an example of how I can read from my code a particular registry value? My VM is j9.
June 23rd, 2009 at 3:49 pm
can’t access on my mobile directly
October 25th, 2009 at 12:32 am
[...] the phone (which is sometimes easier), use file:/// (with 3 slashes!) then the path on the phone. Markus Brosch’s blog gives a nice background/history using the J9 software, and also gives some example of how to create [...]
February 19th, 2010 at 4:25 am
[...] Transfers – Toktumi | Toktumi VoIP NewsOSCON2003 To Be Hosted By Spammers | Down Comfortersmarkus.brosch.net ” Blog Archive ” Java/Midlet Environment …Education ” Blog Archive ” Touchscreen VOIP conference phone …Adobe Flex 3 [...]
March 3rd, 2010 at 1:15 am
[...] CDMA, WCDMA, GSM, Broadband, SMS, MMS, Computer IT, Programming Languages, Tutorial ebooks downloadmarkus.brosch.net Blog Archive Java/Midlet Environment …In the past I provided a small tutorial here on how to get J9 installed from IBM's open … aware of [...]
March 6th, 2010 at 6:42 am
I guess that to get the home loans from banks you should present a great motivation. However, one time I have got a student loan, just because I wanted to buy a house.
July 3rd, 2010 at 11:39 pm
hi, please help me, i have terrible problem, all of my vocabs are destroyed by mini pauker. on time in MIDLETs qustion I got a mistake and I answered never allow or somting like that and when i open my pauker save on my p990 after one week(359 vocabs were expired) I did my lightner box process (answering to expired vocabs).and now the serious problem demonstrate itself —> when I try to open my save and through its loading mini pauker says ” aj: Attr.value missing f. far(position:START_TAG @15717:33 in java.io.inputstreamReader@f8e4a7d6)”
always when the loading reachs on 1900 that error demonstrates.and my save doesn’t open on pauker on my PC but last save (last week save with 359 expiered vocabs) opens and saves on pc correctly .
what is wrong? I reinstalled mini pauker at least 3 times