EclipseME安装配置及ClassNotFoundException问题

 一、安装 

  EclipseME是Eclipse平台上开发J2ME的插件,可以到www.eclipseme.org 去下载最新的版本,我下载的是1.5.4版,顺便说一句,我的Eclipse是3.2版。

  首先把EclipseME安装到Eclipse平台,我没有采用它的网站上建议使用的update site的方法,而是使用外挂插件的安装方式。外挂插件的安装方式可以参考前面的Blog:http://blog.csdn.net/infowain/archive/2006/07/27/985585.aspx

二、配置

  接下来需要对EclipseME进行适当的配置,在Eclipse的“窗口”菜单,找到“首选项”,找到J2ME这一项,设置好其中的WTK Root。WTK的安装方法可以参考前面的Blog:http://blog.csdn.net/infowain/archive/2006/08/02/1011401.aspx

接下来设置Device Management

刚进入这个画面的时候是没有内容的,点击“import”按钮,出现import device画面:

在Specify search directory那里选择WTK所在的目录,然后记得要点“refresh”按钮,就可以搜索到WTK所带的Device了。

然后回到图一的届面,把默认设备选择为J2ME Wireless Toolk DefaultcolorPhone,这个纯属我个人喜好,用其他的设备应该也OK

三、使用

接下来在Eclipse里面新建一个项目,项目向导选择J2ME Midlet Suit,取名为TestMe,其他的选项都先用默认值即可。

接下来在TestMe上点击右键,选择新建-〉其他-〉J2ME-〉J2ME Midlet

包名填test,类名填HelloWorld,EclipseMe会帮助产生代码框架。

完整的代码如下:

package test;

import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.Form;
import javax.microedition.midlet.MIDlet;
import javax.microedition.midlet.MIDletStateChangeException;

public class HelloWorld extends MIDlet {

 public HelloWorld() {
  // TODO 自动生成构造函数存根
  Form form = new Form("Hello World");
  form.append("Welcome to J2ME world!");
  Display.getDisplay(this).setCurrent(form);
 }

 protected void destroyApp(boolean arg0) throws MIDletStateChangeException {
  // TODO 自动生成方法存根

 }

 protected void pauseApp() {
  // TODO 自动生成方法存根

 }

 protected void startApp() throws MIDletStateChangeException {
  // TODO 自动生成方法存根

 }

}

四、运行

在Eclipse里面选择运行,以Wireless Toolkit Emulator来运行,Midlet选择test.HelloWorld。

可是我第一次执行的时候却出现了错误:

Running with storage root DefaultColorPhone
java.lang.ClassNotFoundException: test/HelloWorld
 at com.sun.midp.midlet.MIDletState.createMIDlet(+14)
 at com.sun.midp.midlet.Scheduler.schedule(+52)
 at com.sun.midp.main.Main.runLocalClass(+28)
 at com.sun.midp.main.Main.main(+116)
Execution completed.
699655 bytecodes executed
2 thread switches
742 classes in the system (including system classes)
3563 dynamic objects allocated (97108 bytes)
1 garbage collections (0 bytes collected)

一个简单的HelloWorld竟然也有问题,我费了好大力气,论坛上也去发了新多帖子,可是没有答案。最后只好自己动手,把jad等等仔细研究了一遍,终于发现了问题的原因。

原来EclipseMe使用了Eclipse默认的构建路径,把class文件编译到bin不目录里面,而WTK执行的时候默认的class需要在verified/classes目录里面,这样就造成了ClassNotFoundException异常。

改正的方法:在project的属性里面,把java构建路径的缺省输出文件夹由TestMe/bin改为TestMe/verified/classes就可以了。

重新编译执行,终于看到了期望的画面:

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值