2009-02-04 27 views
2

我有一個非常簡單的代碼行中我來源:SAX解析器在Applet的失敗

XMLReader xmlReaderFactory = XMLReaderFactory.createXMLReader(); 

這從一個應用程序完美的作品,但是,從一個小程序,它會嘗試加載的「.class」文件從服務器(沒有類名,只是擴展,就像你看到的),然後沒有給我一個解析器。

Exception in thread "Thread-13" java.lang.ClassFormatError: Incompatible magic value 218762506 in class file 
    at java.lang.ClassLoader.defineClass1(Native Method) 
    at java.lang.ClassLoader.defineClass(Unknown Source) 
    at java.security.SecureClassLoader.defineClass(Unknown Source) 
    at sun.plugin2.applet.Applet2ClassLoader.findClass(Unknown Source) 
    at java.lang.ClassLoader.loadClass(Unknown Source) 
    at java.lang.ClassLoader.loadClass(Unknown Source) 
    at org.xml.sax.helpers.NewInstance.newInstance(Unknown Source) 
    at org.xml.sax.helpers.XMLReaderFactory.loadClass(Unknown Source) 
    at org.xml.sax.helpers.XMLReaderFactory.createXMLReader(Unknown Source) 

可能是什麼問題?

回答

2

看起來好像您正試圖配置使用除JRE以外的SAX實現。該配置指向一個以至少兩個空行開始的Windows文本文件。 SAX實現可以通過系統屬性org.xml.sax.driver進行配置,或者包含在名稱爲META-INF/services/org.xml.sax.driver的jar中的文件中。

1

您可能會從服務器獲取該類文件的404錯誤。有關詳細信息,請參見此bug report

+0

我想這是一種可能性。目前,我通過硬編碼xml解析器名稱(醜陋)來解決它。但爲什麼它甚至會嘗試使用空名稱加載一個類? – jsight 2009-02-04 21:59:58