今天将webwork2.2.1更换成webwork2.2.2,出现了一个奇怪的异常,每次启动后,都会报出:
org.xml.sax.SAXParseException: Element type "global-exception-mappings" must be declared.
com.opensymphony.xwork.config.ConfigurationException: Caught exception while loading file xwork.xml
with nested exception
org.xml.sax.SAXParseException: Element type "global-exception-mappings" must be declared.
如果将xwork.xml中的
global-exception-mappings注释掉便好
头疼了几个小时解决不了,不得不求助飞云小侠
飞云小侠一出手果然不同,马上定位了问题所在
就是这句:
<!DOCTYPE xwork PUBLIC "-//OpenSymphony Group//XWork 1.1.1//EN" "http://www.opensymphony.com/xwork/xwork-1.1.1.dtd">
原来虽然几次升级webwork.jar,但是xwork.xml的DTD解析还是用的原来的DTD,顶多就是改了DTD的地址,也就是将这句
"http://www.opensymphony.com/xwork/xwork-1.1.dtd">
改为这样
"http://www.opensymphony.com/xwork/xwork-1.1.1.dtd">
而实际上解析DTD是靠的前面那句
<!DOCTYPE xwork PUBLIC "-//OpenSymphony Group//XWork 1.1.1//EN" >
原来一直是
<!DOCTYPE xwork PUBLIC "-//OpenSymphony Group//XWork 1.0//EN" >
于是就出现了上面的问题
多谢飞云小侠的帮助^_^