首页 > 编程语言 >java.lang.AbstractMethodError: org.apache.xerces.dom.DocumentImpl.getXmlStandalone()

java.lang.AbstractMethodError: org.apache.xerces.dom.DocumentImpl.getXmlStandalone()

时间:2023-01-06 17:14:33浏览次数:60  
标签:lang java xerces sun springframework apache org

一、问题复现
这个问题困扰我一天多,各种百度看论坛,发现有一种解决方案可能对我有帮助(解决方案)

解决方案说的是可能是xerces包冲突所致

Caused by: java.lang.AbstractMethodError: org.apache.xerces.dom.DocumentImpl.getXmlStandalone()Z
    at com.sun.org.apache.xalan.internal.xsltc.trax.DOM2TO.setDocumentInfo(DOM2TO.java:377)
    at com.sun.org.apache.xalan.internal.xsltc.trax.DOM2TO.parse(DOM2TO.java:131)
    at com.sun.org.apache.xalan.internal.xsltc.trax.DOM2TO.parse(DOM2TO.java:98)
    at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transformIdentity(TransformerImpl.java:684)
    at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:728)
    at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:343)
    at org.apache.poi.openxml4j.opc.StreamHelper.saveXmlInStream(StreamHelper.java:84)
    at org.apache.poi.openxml4j.opc.internal.marshallers.ZipPartMarshaller.marshallRelationshipPart(ZipPartMarshaller.java:180)
    at org.apache.poi.openxml4j.opc.ZipPackage.saveImpl(ZipPackage.java:559)
    at org.apache.poi.openxml4j.opc.OPCPackage.save(OPCPackage.java:1539)
    at org.apache.poi.openxml4j.opc.OPCPackage.close(OPCPackage.java:482)
    at org.apache.poi.POIXMLDocument.close(POIXMLDocument.java:189)
    at com.util.ExportExcel.exportExcelTemplate(ExportExcel.java:70)
    at com.controller.tableController$$FastClassBySpringCGLIB$$b3664c7d.invoke(<generated>)
    at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)
    at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:749)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
    at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:93)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
    at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688)
    at com.cplh.gis.controller.datamanagement.GisBusinessTableController$$EnhancerBySpringCGLIB$$c92ce32c.exportBusinessTableTemplate(<generated>)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:189)
    at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138)
    at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:102)
    at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:895)
    at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:800)
    at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)
    at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1038)
    ... 97 common frames omitted

二、解决过程

org.apache.xerces.dom.DocumentImpl 冲突问题:

1.首先发现jdk的rt.jar中com.sun.org.apache.xerces.internal.dom.DocumentImpl有这个类。
2.既然是冲突,肯定程序中有某个依赖也有这个类的源码
查看maven依赖发现

 

pom.xml中引入的依赖

        <dependency>
            <groupId>org.geotools</groupId>
            <artifactId>gt-shapefile</artifactId>
            <version>2.7.1</version>
        </dependency>

既然是冲突了,那么排除掉xerces依赖传递就可以了 或升级最新版本

        <dependency>
            <groupId>org.geotools</groupId>
            <artifactId>gt-shapefile</artifactId>
            <version>2.7.1</version>
            <exclusions>
                <exclusion>
                    <groupId>xerces</groupId>
                    <artifactId>xercesImpl</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

 

总结:
此问题应该是xerces包冲突问题导致,但是至于是哪个包的冲突需要仔细找找看(因为引入的依赖不同,参照的解决方案引入的依赖是jmimemagic而我引入的依赖是gt-shapefile),确定包冲突后,排除掉xerces依赖传递就好了

标签:lang,java,xerces,sun,springframework,apache,org
From: https://www.cnblogs.com/Fooo/p/17031008.html

相关文章

  • Java生成二维码并浏览器下载,也可打包成zip下载
    不说废话,直接上代码1.单个生成二维码并下载codeNo为前端传的需要生产二维码的内容publicvoidqrCode(HttpServletRequestrequest,HttpServletResponseresponse,Stri......
  • Java8-Stream流式计算
    什么是Stream流式计算大数据:存储+计算集合、MySQL本质就是存储东西的;计算都应该交给流来操作!Stream是对集合功能的增强,它提供了各种非常便利、高效的聚合操作,可以大......
  • 第13届蓝桥杯javaB组
    第13届蓝桥杯javaB组试题A星期计算问题描述已知今天是星期六,请问\(20^{22}\)天后是星期几?注意用数字\(1\)到\(7\)表示星期一到星期日。思路一因为每七天一个......
  • java基础
    Java规范Java的编译过程记事本写java的步骤publicclass类名{publicstaticvoidmain(String[]args){System.out.println("Hello,World"); }}编写......
  • 简单java servlet的登录脚本,部署到docker
    先打算参考这篇文章Simpleloginpageexampleusingjspservlet-Candidjava内含war文件和zip文件。但是tomcat上该war文件总是报错。于是又参考这篇(46条消息)Jav......
  • JavaScript
    JavaScript1.基本语法//1.定义变量变量类型变量名=变量值;varnum=1;alert(num)//2.条件控制varscore=81;if(score>60&&score<70){alert("......
  • Java中的POJO与JavaBean / Java Bean与POJO的区别与联系
    POJO(PlainOrdinaryJavaObject)即普通Java类,具有一部分getter/setter方法的那种类就可以称作POJO。有一些private的参数作为对象的属性,然后针对每一个参数定义get和set......
  • Java final关键字修饰对象
    结论:final修饰对象,对象的内容可变,引用不可变。final应用于类、方法和变量、对象时意义是不同的,但本质是一样的,都表示不可改变。但是修饰对象时要注意:因为对象是引用类......
  • JAVA中的定时器使用
    1、注解作用@Configuration//主要用于标记配置类,兼备Component的效果。@EnableScheduling//开启定时任务@Scheduled(cron="0/5****?")//添加定时......
  • golang range channel死锁问题
    今天采用WaitGroup来实现协程,发现rangechanel会死锁,代码如下:packagemainimport"sync"import"fmt"funcmain(){varwgsync.WaitGroupwg.Add(3)resultChanne......