令人崩溃的一次调试org.xml.sax.SAXNotRecognizedException

<div class="iteye-blog-content-contain" style="font-size: 14px"></div>

最先是NullPointException,找到出错原因,JaxbUtil移动到core内,但是在web端没有引入相应的jaxb-api以及jaxb-impl,所以在web的Maven库中手动追加,空指针异常解决,然后令人崩溃的org.xml.sax.SAXNotRecognizedException出现了,异常信息:

2013-8-5 14:23:26 com.sun.xml.bind.v2.util.XmlFactory createParserFactory
严重: null
org.xml.sax.SAXNotRecognizedException: Feature 'http://javax.xml.XMLConstants/feature/secure-processing' is not recognized.
	at org.apache.xerces.parsers.AbstractSAXParser.setFeature(Unknown Source)
	at org.apache.xerces.jaxp.SAXParserImpl.setFeatures(Unknown Source)
	at org.apache.xerces.jaxp.SAXParserImpl.<init>(Unknown Source)
	at org.apache.xerces.jaxp.SAXParserFactoryImpl.newSAXParserImpl(Unknown Source)
	at org.apache.xerces.jaxp.SAXParserFactoryImpl.setFeature(Unknown Source)
	at com.sun.xml.bind.v2.util.XmlFactory.createParserFactory(XmlFactory.java:121)
	at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.getXMLReader(UnmarshallerImpl.java:154)
	at javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(AbstractUnmarshallerImpl.java:137)
	at javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(AbstractUnmarshallerImpl.java:194)
	at com.uuzz.lottery.control.util.JaxbUtil.unmarshal(JaxbUtil.java:82)
	at com.uuzz.lottery.control.service.impl.Worker.convert(Worker.java:90)
	at com.uuzz.lottery.control.service.impl.Worker.process(Worker.java:58)
	at com.uuzz.lottery.control.service.impl.Worker$$FastClassByCGLIB$$279e26fc.invoke(<generated>)
	at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:191)
	at org.springframework.aop.framework.Cglib2AopProxy$CglibMethodInvocation.invokeJoinpoint(Cglib2AopProxy.java:688)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
	at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:89)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
	at org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:621)
	at com.uuzz.lottery.control.service.impl.worker.ProvinceAccountWorker$$EnhancerByCGLIB$$11839620.process(<generated>)
	at com.uuzz.lottery.control.action.EnterAction.process(EnterAction.java:81)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at org.springframework.web.bind.annotation.support.HandlerMethodInvoker.invokeHandlerMethod(HandlerMethodInvoker.java:176)
	at org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.invokeHandlerMethod(AnnotationMethodHandlerAdapter.java:426)
	at org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.handle(AnnotationMethodHandlerAdapter.java:414)
	at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:790)
	at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:719)
	at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:644)
	at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:560)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:641)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:240)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:164)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:462)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:563)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:403)
	at org.apache.coyote.http11.Http11NioProcessor.process(Http11NioProcessor.java:369)
	at org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:317)
	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1532)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
	at java.lang.Thread.run(Thread.java:662)

     因为第一次使用JAXB,所以对其异常完全不懂,只能上网查,然后一个个试,所有办法都尝试过后,在最后濒临绝望的时候,看到了http://hi.baidu.com/ljmybfq/item/c2264b560cd52fc29f266739,抱着死马当活马医的心态进行了最后一次尝试,删掉了xercesImpl-2.6.2.jar,xml-apis-1.0.b2.jar,xmlParserAPIs-2.6.2.jar,没想到真的成功了!值得撒花庆祝!~~

 

    长知识了,感谢http://hi.baidu.com/ljmybfq/item/c2264b560cd52fc29f266739的分享者!~

    原文转载:

         

同事写的程序,到我的机器运行。应用服务器用的是tomcat,开发环境是MyEclipse+Struts1.2+Hibernate3.1+Spring2.0。

部署好系统,启动服务器时出现异常如下:

org.xml.sax.SAXNotRecognizedException: http://apache.org/xml/features/validation/dynamic

半天来,找不出原因,上网查了半天,众说纷纭。

后来发现,由于使用了Hibernate,其中的包与struts中的包有重复。

在构建路径中删除以下包:

xml-apis.jar,xerces-2.6.2.jar,commons-logging-1.0.4.jar,commons-collections-2.1.1.jar,antlr-2.7.5H3.jar。

相应物理路径下的文件也要删除。

测试通过! 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值