我需要将以下文件添加到Tomcat的“/conf”目录中:
<?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)
3条答案
按热度按时间6bc51xsx1#
您的xml文件在开始(
<?xml version="1.0" encoding="UTF-8"?>
之前)有一些不可见的字符(很可能是BOM),这在xml中是不允许的。您可以使用十六进制编辑器查看它。修复它的最简单方法是创建一个空的文本文件并将内容复制到其中,将扩展名更改为xml。查看此answer以获取更多帮助。
从http://www.rgagnon.com/javadetails/java-handle-utf8-file-with-bom.html
UTF8文件是一个特例,因为不建议向其添加BOM,因为它可能会破坏其他工具,如Java。事实上,Java假设UTF8没有BOM,因此如果BOM存在,它不会被丢弃,它将被视为数据。
e5nszbig2#
我有一个类似的问题,但这个参考link提供了解决方案当场。
引自文章。
XML内容开头之前的任何字符都将导致上述错误。
svmlkihl3#
行以另一个标记开始而不是以另一个标记结束时出现此错误。
我还在xml中有一行重复输入,我无法追溯这两个错误中的哪一个引发了这个错误,但我猜是错误的结束标记。