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
开发时则要注意此项自己手动加上空格。

你可能感兴趣的:(xml,webx)