2013-12-12 31 views
6

允许我需要将以下文件添加到我的Tomcat的“/ conf目录”目录:的SAXParseException:内容是不是在序言

<?xml version="1.0" encoding="UTF-8"?> 
<Context useHttpOnly="false" path="/bbc"> 
    <Realm className="com.bbc.tomcat.BBCSecurityRealm"/> 
</Context> 

添加此文件后,我收到以下错误时启动Tomcat启动”

ERROR ecmdefault util.digester.Digester 18:37:14,477 localhost-startStop-1 : Parse Fatal Error at line 1 column 1: Content is not allowed in prolog. 
org.xml.sax.SAXParseException: Content is not allowed in prolog. 
    at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:195) 
    at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalError(ErrorHandlerWrapper.java:174) 
    at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:388) 
    at com.sun.org.apache.xerces.internal.impl.XMLScanner.reportFatalError(XMLScanner.java:1427) 
+0

[org.xml.sax.SAXParseException:内容在prolog中是不允许的]的可能重复(http://stackoverflow.com/questions/5138696/org-xml-sax-saxparseexception-content-is-not-allowed -in-序言) – Raedwald

回答

12

你的XML文件在启动未在XML使一些无形的字符(最有可能的BOM)(<?xml version="1.0" encoding="UTF-8"?>之前)。你可以用十六进制编辑器查看它。要解决这个问题是创建的最简单方法一个空文本文件并将内容复制到它中,将扩展名更改为xml。

检查此answer以获得进一步的帮助。

http://www.rgagnon.com/javadetails/java-handle-utf8-file-with-bom.html

UTF8文件是一个特例,因为它是不推荐的BOM添加到它们,因为它会破坏其他工具,如Java。实际上,Java假设UTF8没有BOM,所以如果BOM存在,它不会被丢弃,并且会被视为数据。

0

我有一个类似的问题,但这个参考link提供了解决方案的地方。

来自文章的引用。

XML内容开始之前的任何字符都将导致上面的“org.xml.sax.SAXParseException:内容在prolog中不被允许”错误消息。

相关问题