2013-12-12 14 views
6

Tôi cần thêm các tập tin sau đây để Tomcat của tôi '/ conf' thư mục:SAXParseException: Nội dung không được phép trong prolog

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

Sau khi thêm tập tin này, tôi nhận được lỗi sau khi Tomcat khởi động"

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

bản sao có thể có của [org.xml.sax.SAXParseException: Nội dung không được phép trong prolog] (http://stackoverflow.com/questions/5138696/org-xml-sax-saxparseexception-content-is-not-allowed -in-prolog) – Raedwald

Trả lời

12

file xml của bạn có một số ký tự vô hình (nhiều khả năng BOM) lúc bắt đầu (trước khi <?xml version="1.0" encoding="UTF-8"?>) mà không được phép trong xml. bạn có thể xem nó sử dụng một trình soạn thảo hex. cách đơn giản để sửa chữa nó là tạo ra một tệp văn bản trống và sao chép nội dung vào đó, thay đổi phần mở rộng thành xml.

Kiểm tra điều này answer để được trợ giúp thêm.

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

tập tin UTF8 là một trường hợp đặc biệt vì nó không được khuyến khích để thêm một BOM với họ vì nó có thể phá vỡ các công cụ khác như Java. Trong thực tế, Java giả định UTF8 không có BOM vì vậy nếu BOM có mặt, nó sẽ không bị loại bỏ và nó sẽ được xem như dữ liệu.

0

Tôi gặp sự cố tương tự nhưng tham chiếu này link đã cung cấp điểm giải pháp.

Trích dẫn từ bài viết.

Bất kỳ ký tự nào trước khi bắt đầu nội dung XML sẽ gây ra thông báo lỗi “org.xml.sax.SAXParseException: Nội dung không được phép trong prolog”.

Các vấn đề liên quan