我得到這個錯誤,當我包括番石榴-11.0-rc1.jar其中包含包com.google.common.*
。但是,當我嘗試將它打包,它給我的錯誤:錯誤預驗證類com.google.common.collect.Ordering在黑莓
Error preverifying class com.google.common.collect.Ordering MyApp line 0
BlackBerry Packaging Problem
誰能告訴我可以做些什麼來解決這個問題?提前致謝。
我得到這個錯誤,當我包括番石榴-11.0-rc1.jar其中包含包com.google.common.*
。但是,當我嘗試將它打包,它給我的錯誤:錯誤預驗證類com.google.common.collect.Ordering在黑莓
Error preverifying class com.google.common.collect.Ordering MyApp line 0
BlackBerry Packaging Problem
誰能告訴我可以做些什麼來解決這個問題?提前致謝。
確保該庫中的類與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>
的路徑,在預驗證的罐子將被保存的目錄。<file to preverify>
是要將預驗證(你的情況番石榴11.0 rc1.jar)文件的絕對路徑。如果一切順利,現在你將有一個新的jar在<output directory>
這是稍大於輸入的jar文件。這是你應該包括在你的項目中的一個。 preverify
工具不會更改您的原始jar。
謝謝你的解釋史密斯。我的Eclipse插件做了預驗證。我應該單獨預先驗證jar文件嗎? –
它給了我以下錯誤:錯誤preverifying類com.google.common.collect.Ordering java/lang/NoClassDefFoundError:java/util/Comparator現在該怎麼辦? –
我從這裏添加了另一個.jar文件:https://code.google.com/p/guava-libraries/ 但是我無法在我的黑莓項目的java代碼中導入com.google.common。*包。請幫我找到一個解決方案。 –