J2ME预验证StackMap丢失

时间:2013-09-25 14:09:43

标签: java-me preverify

我开发了一个名为Ticker的实用程序。

我装在一个罐子里,试着在不同的项目中使用。

我正在使用Eclipse。在创建二进制文件(JAD / JAR)时,我收到了预验证错误。

之后我尝试了一种解决方法。我创建二进制文件并手动注入所需的类。

当我尝试在Sun Emulator(WTK 2.5 DefaultColorPhone)上运行时出现预验证错误。另一方面,构建在KEmulator上工作正常(你知道KEmulator在JVM而不是KVM上运行)。

随后,我查了一下lib,发现课程没有经过验证。

然后我使用WTK preverify.exe进行验证;但是我注意到4个,2个类没有预先验证(缺少StackMap条目)。

类层次结构

  • Ticker.java //Verified

  • Text.java扩展了Component.java //Verified

  • Component.java扩展TimeControlled.java //Not Verified

  • TimeControlled.java //Not Verified

请让我摆脱它。

阿米特

1 个答案:

答案 0 :(得分:0)

过去我通过使用Antenna

创建一个Ant脚本来完成此操作

。编译java源码 < wtkbuild srcdir =" ./ src" DESTDIR =" ./类"预验证="假" />

。复制你的资源
< copy todir =" ./ classes">
< fileset dir =" ./ res" />
< /复制和GT;

。提取库jar < unjar src =" ./ lib / Ticker.jar" DEST =" ./类" />

。预先验证一切 < wtkpreverify srcdir =" ./ classes" DESTDIR =" ./类" />

。打包你的jar文件
< wtkpackage jarfile =" myapp.jar" jadfile将给=" myapp.jad">
< fileset dir =" ./ classes" />
< / wtkpackage>