Friday, April 10, 2009

NetBeans J2ME Project debugging problem : Attaching to localhost:xxxxx Connection refused

After a long time I was working on a J2ME application using NetBeans. Previously that application was built using WTK and I was trying to add those source file in new netbeans project.

Application was compiling properly. But When I was starting debug, it was showing "Attaching to locahost:5999 Connection refused" in "Debugger Console". At first I thought that port is used by some other program or firewall was blocking NetBeans to use that port. But I found that port was not being used or blocked by any other program. Then I carefully examined all of the messages in NetBeans output window and found following message -
com.sun.kvem.midletsuite.InvalidJadException: Reason = 22
The manifest or the application descriptor MUST contain the attribute: MIDlet-1

After some googling I found the way to solve this "com.sun.kvem.midletsuite.InvalidJadException: Reason = 22" exception. When this exception was solved, "Attaching to localhost:xxxxx Connection refused" problem was also solved!!!

Here are the process to solve that InvalidJadException -

From your problematic NetBeans Mobility Project folder open /nbproject/project.properties (default project directory is My Documents\NetBeansProjects) file using any text editor. Search for the property "manifest.midlets". You will find something like - manifest.midlets=MIDlet-1: , , \n
In this manifest.midlets property, midlet name is missing, so NetBeans was giving that error. To solve that exception you need to add your midlet name here. For example, if your midlet name is "HelloMidlet" which is under package "hello" then you need to change the line like -
manifest.midlets=MIDlet-1: HelloMidlet, , hello.HelloMidlet\n

No comments: