XML 配置文件註釋引起錯誤及解決方案

在配置war/src/webroot/META-INF/autoconf/news-resource.xml.vm時,在xml文件中有中文的註釋。重新編譯後啓動時,產生下列的異常

 

  1. .........
  2. Caused by: org.apache.commons.jelly.JellyException: null:-1:-1: <null> Could not parse Jelly script 
  3.     at org.apache.commons.jelly.JellyContext.compileScript(JellyContext.java:535) 
  4.     at org.apache.commons.jelly.JellyContext.runScript(JellyContext.java:666) 
  5.     at org.apache.commons.jelly.JellyContext.runScript(JellyContext.java:656) 
  6.     at org.apache.commons.jelly.JellyContext.runScript(JellyContext.java:578) 
  7.     at com.alibaba.common.configuration.jelly.JellyDigester.parse(JellyDigester.java:88) 
  8.     ... 146 more 
  9. Caused by: org.xml.sax.SAXParseException: The string "--" is not permitted within comments. 
  10.     at org.apache.xerces.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source) 
  11.     at org.apache.xerces.util.ErrorHandlerWrapper.fatalError(Unknown Source) 
  12.     at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source) 
  13.     at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source) 
  14.     at org.apache.xerces.impl.XMLScanner.reportFatalError(Unknown Source) 
  15.     at org.apache.xerces.impl.XMLScanner.scanComment(Unknown Source) 
  16.     at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanComment(Unknown Source) 
  17.     at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source) 
  18.     at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source) 
  19.     at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source) 
  20.     at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source) 
  21.     at org.apache.xerces.parsers.XMLParser.parse(Unknown Source) 
  22.     at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source) 
  23.     at org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source) 
  24.     at org.apache.commons.jelly.parser.XMLParser.parse(XMLParser.java:254) 
  25.     at org.apache.commons.jelly.JellyContext.compileScript(JellyContext.java:531) 
  26.     ... 150 more 


從錯誤描述來看發現是XML文件中的註釋引起的異常,去掉配置文件中的中文註釋或改用英文描述則可以通過
後來發現是配置文件中採用:

單數箇中文或字母后跟單數箇中文再用“-->”結束註釋(中文後不加空格) 
如:<!-- 單數箇中文-->、<!-- a單數箇中文--> 

時就會報此異常
爭對此異常可以採用在左右邊界加上空格的方式解決。
在Eclipse中開發時不太容易出現此異常,因爲Eclipse的XML 格式化功能會自動在書寫時加上空格,但如果用netbeans
開發時則要注意此項自己手動加上空格。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章