2012-04-02 76 views
2

在我的Google App Engine應用程序中,我使用jsoup庫(jsoup.org)。 我在Eclipse上安裝了GAE的1.6.4 SDK,代碼僅在本地主機上停止工作。如果我使用GAE 1.6.3,appspot.com上的應用程序運行良好,並且相同的應用程序在localhost中運行良好。僅在本地主機上在Google App Engine 1.6.4上使用Jsoup的ClassFormatError

的代碼是(例如):

string = Jsoup.clean(string, Whitelist.none()); 

例外包括:

java.lang.ClassFormatError: Invalid method Code length 73191 in class file org/jsoup/nodes/Entities 

或(當我執行該代碼的第二時間)

java.lang.NoClassDefFoundError: Could not initialize class org.jsoup.nodes.Entities$EscapeMode 

有誰有同樣的問題?我該如何解決它?

回答

0

我認爲JVM極限是約(每方法65,535字節),所以你可能要拆()長實體類成多個方法

1

同樣的事情發生在我升級到1.6.4 SDK後的GAE。 是什麼原因造成的異常對我來說是

Document document = Jsoup.parse(html); 
1

對不起,我回答,而不是評論! (我沒有足夠的聲望。) Yoav A提供的jsoup-1.6.2-GAE.jar非常出色,但它似乎有迴歸問題。 重現迴歸程序低於

String html = "<div>30&deg;C</div>"; 
    Document doc = Jsoup.parseBodyFragment(html); 
    System.out.println(doc.toString()); 

當使用原jsoup-1.6.2.jar,結果是OK。當使用jsoup-1.6.2-GAE.jar時,字符串'30 ° C'會變成亂碼。

+0

檢查出GitHub Jsoup項目[鏈接](https://github.com/jhy/jsoup) 有一個版本1.6.3 [PENDING]與我的修復程序。 我認爲這個版本適合你 – 2012-05-19 13:29:11

相關問題