当我包含包含 package的 guava-11.0-rc1.jarcom.google.common.*
时出现此错误。但是当我尝试打包它时,它给了我错误:
错误预验证类 com.google.common.collect.Ordering MyApp line 0
BlackBerry Packaging Problem
谁能告诉我可以做些什么来解决这个问题?提前致谢。
当我包含包含 package的 guava-11.0-rc1.jarcom.google.common.*
时出现此错误。但是当我尝试打包它时,它给了我错误:
错误预验证类 com.google.common.collect.Ordering MyApp line 0
BlackBerry Packaging Problem
谁能告诉我可以做些什么来解决这个问题?提前致谢。
确保该库中的类与 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。