全部博文(413)
分类: Java
2007-04-07 12:57:17
这里参考《J2ME中文教程》第12章《》(http://www.j2medev.com/Article/Class1/Class11/200506/267.html)搭建环境,选用的包同作者使用的基本一致,但HelloWorld还是跑不起来。折腾了几天,总算搞定。记录下来,以被将来查询。
1, 准备安装包
(1) JDK
(2) Eclipse SDK(google关键字: eclipse-SDK-
eclipse SDK各种历史版本下载:
(3) Eclipse语言包
google关键字: NLpack-eclipse-SDK-3.0.x-win32.zip
(4) EclipseME(Eclipse的J2ME插件)
google关键字: eclipseme.feature_
(5) Sun WTK2.2
sun.com
然后在右上角search tips中搜索wtk
(6) Nokia Developer's Suite 2.2(Nokia 开发者套件)
由于找不到文中提到的2.2版本。所以改用3.0
google关键字:nds_jme_v3_0.zip
http://www.j2medev.com/download/tools/OEMSDK/nokia/nds_jme_v3_0.zip
2, 安装顺序图
3, NLpack-eclipse-SDK-3.0.x-win32.zip不是必须的,除非你需要中文等其他语言界面。而且,汉化包的版本一定要跟EclipseSDK的版本匹配,否则,汉化不会成功。比如eclipse-SDK-
4,配置Eclipse时,添加Nokia Developer’s Suite时所选择的路径是%Nokia Developer’s Suite%\Devices\Nokia_Prototype_SDK_2_0。
5,HelloWorld的说明。
按照作者提到的方法,HelloWorld还是跑不起来,点击 Run后,弹出模拟器窗口并马上消失,“Console”窗口中出现提示“java.lang.ClassNotFoundException:HelloWorld”。一直找不到原因。我一度怀疑作者给的例子有错,但是用WTK却没问题。Google了一堆信息,都说配置有问题,特别是CLASSPATH没配置;尝试设置CLASSPATH的环境变量, 仍然失败;按照作者提到的配置方式,试了N遍,甚至重新安装全部的包,也失败了。这个周末有点空闲,重新仔细地阅读了作者搭建平台的方法, 发现自己犯了一个致命的错误:在整个过程中,我都没有留意创建HelloWorld后Navigator(包资源管理器)窗口中的内容―――作者的窗口中几个.jar文件,而我的窗口中却没有。试着添加这些包之后,HelloWorld终于跑起来了。由于我的wtk没有wma.jar, 我用wma11.jar和wma20.jar代替(网上说某个版本后,wma.jar被分成了wma11.jar和wma20.jar)。添加方法是:
右键点击HelloWorld 工程,选择Properties, 在弹出窗口中选择Java Build Path, 在Libraries属性页中点击“Add External JARs”,然后删除“J2ME library [J2ME Wireless ToolKit 2.2 MIDP 2.0 Platform]”,再加上%WTK2.2%\lib\下的wma11.jar,wma20.jar,cldcapi11.jar,midpapi20.jar,mmapi.jar。
总结:
1, 对于参考资料,不要轻易怀疑作者。
2, 在试验时,最好选择作者使用的软件包版本。
3, 试验不成功时,要找出差异:自己使用的环境同作者的有什么不同;在每一个步骤中,有什么不一样的现象发生,是什么原因造成的?是否是正常现象?有没有什么方法可以改正这种不一样的现象(如上面HelloWorld添加JARs)。
4, 更高版本的SDK
jdk-1_5_0_11-windows-i586-p.exe
eclipse-SDK-3.2.2-win32.zip
NLpack-eclipse-SDK-3.2-win32.zip
eclipseme.feature_1.6.6_site.zip
Sun WTK2.2
nds_jme_v3_0.zip
j2me_wireless_toolkit-2_2-ml-windows.exe
j2me_wireless_toolkit-2_2-update_1ml-windows.zip
5 Emulator
BlackBerry_Simulators_4.1.0.309.rar
hipalm_BlackBerry_JDE_4.2.0.rar
Motorola_64_SDK_zip
Linux_63_SDK.zip