错误预先验证com.google.common.collect.Ordering类中的黑莓

时间:2013-01-22 06:15:18

标签: blackberry java-me preverify

当我收录包含com.google.common.*包的 guava-11.0-rc1.jar 时出现此错误。但是当我尝试打包它时,它给了我错误:

  

预先验证com.google.common.collect类的错误。订阅MyApp第0行   BlackBerry Packaging Problem

有人能告诉我怎么做才能解决这个问题?提前谢谢。

1 个答案:

答案 0 :(得分:3)

确保该库中的类与Java-ME兼容。请记住,CLDC是Java SE的子集,等效的桌面编译级别为1.2

如果它们兼容,那么要解决预验证错误,您必须首先预先验证您的jar。你可能想知道什么是预先验证。在this answer中有一个很好的解释。

预验证通常由Eclipse插件完成(或应该完成),但某些版本没有。如果是这种情况,您应该手动完成。在JDE文件夹中,有一个名为preverify的工具。您可以在Windows机器中通常看起来像这样的路径中找到它:

(1) C:\Program files\Research In Motion\BlackBerry JDE <vers>\bin\

您还需要一个名为net_rim_api.jar的库位于以下路径中:

(2) C:\Program files\Research In Motion\BlackBerry JDE <vers>\lib\net_rim_api.jar`

这就是启动命令所需的全部内容。打开命令行并将dir更改为bin文件夹(1)。然后输入:

    preverify -classpath <classpath for lib> -d <output directory> <file to preverify>

其中:

  • <classpath for lib>是(2)
  • 中的路径
  • <output directory>是保存预验证jar的目录。
  • <file to preverify>是您要预验证的文件的绝对路径(在您的情况下为guava-11.0-rc1.jar)

如果一切顺利,现在你将在<output directory>中有一个比输入jar文件略大的新jar。这是您应该包含在项目中的那个。 preverify工具不会更改原始jar。