我最近开始使用LWUIT。伟大的工作和伟大的计划。我正在使用Netbeans 6.9.1、S60 SDK和webstart版本的LCWUIT。
我面临的第一个问题是我无法预先验证Transitions3D.java文件,但是这不是一个问题。我刚刚删除了这部分代码,并从头开始重新编译了这个库。因此,我创建了一个带有"Hello“标签的简单表单,并尝试了资源编辑器的”“选项。我在test_MIDP上做了一个干净的构建(测试是我的项目的名称),并试图在模拟器上运行它。但是,我收到了以下错误消息:
TRACE: <at java.lang.RuntimeException: You must include the platform port before the LWUIT in the classpath>, startApp threw an Exception
java.lang.RuntimeException: **You must include the platform port before the LWUIT in the classpath**
at com.sun.lwuit.impl.ImplementationFactory.createImplementation(ImplementationFactory.java:67)
at com.sun.lwuit.Display.init(Display.java:400)
at userclasses.MainMIDlet.startApp(MainMIDlet.java:15)
at javax.microedition.midlet.MIDletTunnelImpl.callStartApp(), bci=1
at com.sun.midp.midlet.MIDletPeer.startApp(), bci=7
at com.sun.midp.midlet.MIDletStateHandler.startSuite(), bci=269
at com.sun.midp.main.AbstractMIDletSuiteLoader.startSuite(), bci=52
at com.sun.midp.main.CldcMIDletSuiteLoader.startSuite(), bci=8
at com.sun.midp.main.AbstractMIDletSuiteLoader.runMIDletSuite(), bci=161
at com.sun.midp.main.AppIsolateMIDletSuiteLoader.main(), bci=26
java.lang.RuntimeException: You must include the platform port before the LWUIT in the classpath
at com.sun.lwuit.impl.ImplementationFactory.createImplementation(ImplementationFactory.java:67)
at com.sun.lwuit.Display.init(Display.java:400)
at userclasses.MainMIDlet.startApp(MainMIDlet.java:15)
at javax.microedition.midlet.MIDletTunnelImpl.callStartApp(), bci=1
at com.sun.midp.midlet.MIDletPeer.startApp(), bci=7
at com.sun.midp.midlet.MIDletStateHandler.startSuite(), bci=269
at com.sun.midp.main.AbstractMIDletSuiteLoader.startSuite(), bci=52
at com.sun.midp.main.CldcMIDletSuiteLoader.startSuite(), bci=8
at com.sun.midp.main.AbstractMIDletSuiteLoader.runMIDletSuite(), bci=161
at com.sun.midp.main.AppIsolateMIDletSuiteLoader.main(), bci=26“必须在LWUIT之前将平台端口包括在类路径”中。
对如何纠正这个错误有什么想法吗?我尝试使用MIDlet和S60 SDK3.0仿真器运行S60,并收到了相同的错误。
StackOverflow警告我,有类似的问题,但我找不到任何有关我的问题。如果没有,请通知我。
发布于 2011-04-06 04:31:01
我将回答我自己的帖子:
问题是,在我包含的UI jar中。LWUIT附带了2套UI.jar。在LWUIT\UI文件夹中的泛型项目和位于LWUIT\Ports folder.The泛型文件夹中的特定于平台的项目被用作包含所有公共代码的“父”项目,但是如果您必须导入用于平台的.jar文件的话。正如自述文件所述:
虽然这些项目很容易编译,但它们对于任何目的都是无用的,因为它们不包括平台的绑定胶水,要使用平台,就需要在特定端口目录下对给定平台使用适当的项目。
在重新编译库以删除Transitions3D.java文件时,重新编译(然后导入)了通用UI.jar。正确的做法是编译父项目(泛型UI.jar),然后编译特定于端口的库(在我的例子中是LWUIT\ports\MIDP\UI.jar),然后在项目中导入它,您就完成了。
https://stackoverflow.com/questions/5510986
复制相似问题