2

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

错误预验证类 com.google.common.collect.Ordering MyApp line 0
BlackBerry Packaging Problem

谁能告诉我可以做些什么来解决这个问题?提前致谢。

4

1 回答 1

3

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

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

预验证通常由 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`

这就是启动命令所需的全部内容。打开命令行并将目录更改为 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。

于 2013-01-22T09:31:18.983 回答