小程序故障中的java SAX解析器
我的源代码中有一行非常简单的代码:
XMLReader xmlReaderFactory = XMLReaderFactory.createXMLReader();
这在应用程序中可以完美地工作,但是,在applet中,它尝试从服务器加载“.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)
有什么问题吗
# 1 楼答案
看起来,您正在尝试配置除JRE中的SAX实现之外的SAX实现的使用。该配置指向一个以至少两行空行开头的Windows文本文件。SAX实现可以通过系统属性
org.xml.sax.driver
进行配置,也可以包含在名为META-INF/services/org.xml.sax.driver
的jar中的文件中# 2 楼答案
您可能会从该类文件的服务器返回404错误。有关详细信息,请参见此bug report