<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。
相应物理路径下的文件也要删除。
测试通过!
部署好系统,启动服务器时出现异常如下:
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。
相应物理路径下的文件也要删除。
测试通过!