Tapestry5.1中java.lang.ClassFormatError: Invalid length nnn in LocalVariableTable in class file 錯誤的解決
Posted on 2010-01-21 07:28 云自無心水自閑 閱讀(3685) 評論(0) 編輯 收藏 所屬分類: Java 、心得體會 、Tapestry最近在使用tapestry5.1.0.5開發(fā)項目的時候,突然報錯:
Exception in thread "main" java.lang.ClassFormatError: Invalid length 561 in LocalVariableTable in class file
在網(wǎng)上搜索后,發(fā)現(xiàn)有人也有同樣的錯誤,解決方法有兩種:
http://mail-archives.apache.org/mod_mbox/tapestry-users/200909.mbox/%3Cecd0e3310909040909id5275beld935fc60d54d490a@mail.gmail.com%3E
其中一個人的錯誤原因是在其類路徑中有不同版本的javassists的jar文件。
另一個的解決方法是使用eclipse自帶的jdk來編譯java類。
而我自己仔細檢查了類路徑中的文件,并沒有重復的javassists,不過我覺得問題應該就在javassists上,
因為這顯然是javassists在操作class文件時報的錯誤,
我去網(wǎng)上搜索這方面的信息,發(fā)現(xiàn)有好幾個人都和我一樣在使用javassists3.11.0GA版本的時候,會出現(xiàn)這個錯誤。
后來,我改用Tapestry5中自帶的javassists3.9.0GA后,問題消失了。
這次經驗教訓是并不是所有最新的東西都是最好的。合適的才是最好的。
Exception in thread "main" java.lang.ClassFormatError: Invalid length 561 in LocalVariableTable in class file
在網(wǎng)上搜索后,發(fā)現(xiàn)有人也有同樣的錯誤,解決方法有兩種:
http://mail-archives.apache.org/mod_mbox/tapestry-users/200909.mbox/%3Cecd0e3310909040909id5275beld935fc60d54d490a@mail.gmail.com%3E
其中一個人的錯誤原因是在其類路徑中有不同版本的javassists的jar文件。
另一個的解決方法是使用eclipse自帶的jdk來編譯java類。
而我自己仔細檢查了類路徑中的文件,并沒有重復的javassists,不過我覺得問題應該就在javassists上,
因為這顯然是javassists在操作class文件時報的錯誤,
我去網(wǎng)上搜索這方面的信息,發(fā)現(xiàn)有好幾個人都和我一樣在使用javassists3.11.0GA版本的時候,會出現(xiàn)這個錯誤。
后來,我改用Tapestry5中自帶的javassists3.9.0GA后,問題消失了。
這次經驗教訓是并不是所有最新的東西都是最好的。合適的才是最好的。