2013-12-12 19 views
6

ho bisogno di aggiungere il seguente file al mio '/ conf' directory di Tomcat:SAXParseException: Il contenuto non è consentito in Prolog

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

Dopo aver aggiunto questo file, ottengo il seguente errore quando Tomcat si avvia"

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

possibile duplicato di [org.xml.sax.SAXParseException: il contenuto non è consentito in prolog] (http://stackoverflow.com/questions/5138696/org-xml-sax-saxparseexception-content-is-not-allowed -in-prolog) – Raedwald

risposta

12

il file XML ha alcuni caratteri invisibili (molto probabilmente il BOM) all'inizio (prima <?xml version="1.0" encoding="UTF-8"?>) che non è consentito in XML. si potrebbe visualizzarlo utilizzando un editor esadecimale. il modo più semplice per risolvere il problema è quello di creare un file di testo vuoto e copiarne il contenuto, cambiare l'estensione in xml.

Controllare questo answer per ulteriore aiuto.

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

di file UTF8 sono un caso speciale perché non si consiglia di aggiungere una distinta base a loro perché si può rompere altri strumenti come Java. Infatti, Java presuppone che l'UTF8 non abbia una distinta base, quindi se la distinta base è presente non verrà eliminata e verrà considerata come dati.

0

Ho avuto un problema simile ma questo riferimento link ha fornito la soluzione giusta.

Cita dall'articolo.

Qualsiasi carattere prima dell'inizio del contenuto XML causerà sopra "org.xml.sax.SAXParseException: il contenuto non è consentito in prolog" messaggio di errore.