我得到以下運行時錯誤:NoClassDefFound錯誤的Xerces LIB的StreamSource類
java.lang.NoClassDefFoundError: mf/javax/xml/transform/stream/StreamSource
從下面這行代碼:
Source schemaFile = new StreamSource(XSDreader);
這是一個Xerces的類的實例中第一次出現在碼。
- 我下載的Xerces爲Android從谷歌代碼。
- 進口的代碼作爲新Java項目在Eclipse
- 出口從Xerces的項目(編譯OK)
- 新增了Xerces JAR文件到我的項目構建路徑庫
- 在代碼的JAR文件我改變了一切
import
線從javax...
到mf.javax...
經過.jar文件,它包含在預期路徑類StreamSource的
試過的Xerces/bin加入到classpath中(它有.class文件),但這並沒有幫助。
清洗的項目,它並沒有幫助。
經過我的項目和Xerces項目使用相同的JDK版本達標(1.7)
調試的代碼,並獲得到VMClassLoader
沒有找到類,不能挖比這更深的地步。
在這一點上,我用盡了想法。
我認爲Android項目和庫中使用的庫應該使用JDK 1.6。使用1.7編譯的Jars文件是NoClassDefFoundError的常見原因,因爲使用1.7編譯的類不會打包到apk文件中。 – Leszek
@Lecho我嘗試了你的建議,但並沒有解決問題。 – ilomambo
「將Xerces JAR文件添加到我的項目構建路徑庫」 - 取消這一步,然後將JAR放入'libs /'中,就像在使用Eclipse進行Android開發時使用其他JAR一樣。 「試圖將Xerces/bin添加到類路徑中」 - 撤消這一點。 – CommonsWare