XML解析異常之 The processing instruction target matching "[xX][mM][lL]" is not allowed.

今天改個dwr.xml文件後,啓動本地tomcat後控制檯報錯:html

org.xml.sax.SAXParseException: The processing instruction target matching "[xX][mM][lL]" is not allowed.
	at org.apache.xerces.parsers.DOMParser.parse(Unknown Source)
	at org.apache.xerces.jaxp.DocumentBuilderImpl.parse(Unknown Source)
	at javax.xml.parsers.DocumentBuilder.parse(DocumentBuilder.java:124)
	at org.directwebremoting.impl.DwrXmlConfigurator.setInputStream(DwrXmlConfigurator.java:127)
	at org.directwebremoting.impl.DwrXmlConfigurator.setServletResourceName(DwrXmlConfigurator.java:82)
	at org.directwebremoting.impl.StartupUtil.configureFromDefaultDwrXml(StartupUtil.java:611)
	at org.directwebremoting.impl.StartupUtil.configureContainerFully(StartupUtil.java:726)
	at org.directwebremoting.servlet.DwrServlet.configureContainer(DwrServlet.java:109)
	at org.directwebremoting.servlet.DwrServlet.init(DwrServlet.java:68)
	at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1213)
	at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1026)
	at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4421)
	at org.apache.catalina.core.StandardContext.start(StandardContext.java:4734)
	at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1057)
	at org.apache.catalina.core.StandardHost.start(StandardHost.java:840)
	at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1057)
	at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:463)
	at org.apache.catalina.core.StandardService.start(StandardService.java:525)
	at org.apache.catalina.core.StandardServer.start(StandardServer.java:754)
	at org.apache.catalina.startup.Catalina.start(Catalina.java:595)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)
	at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)

分析:java

後來在網上搜已一下The processing instruction target matching "[xX][mM][lL]" is not allowed.說是由於xml文件前有空格,可個人xml文件前沒有空格。通過仔細研究發現,我把<!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 1.0//EN" "http://www.getahead.ltd.uk/dwr/dwr10.dtd">放在了<?xml version="1.0" encoding="UTF-8"?>以前,這跟xml文件前有空格同理。後來把<?xml version="1.0" encoding="UTF-8"?>提到了文件的最前面,而且去掉前面的空格後,從新啓動就再也不報錯了。web

相關文章
相關標籤/搜索