• Java程序中使用Spire Jar包报java.lang.NoSuchMethodError类型错误的解决方法


    Jar包功能概述

    使用Spire系列的Jar包可以操作Word、Excel、PPT、PDF、Barcode等格式的文件,分别对应使用的jar包是Spire.Doc for Java、Spire.XLS for Java、Spire.Presentation for Java、Spire.PDF for Java、Spire.Barcode for Java。在导入相应的jar包后,即可操作相应的文档。

    问题描述

    但是,如果需要在一个程序中同时操作到包含上述提到的2个及以上文件格式时,将单个的jar同时导入Java程序,会报类似java.lang.NoSuchMethodError的错误

    报错例子:

    下面的代码中的操作需求是,在Excel工作表中插入一个Word文档格式的OLE对象,这里需要使用到的类包括Workbook/Worksheet(Spire.XLS提供的类)、Document(Spire.Doc提供的类),在程序中同时导入这两个jar后的报错,如图:

    解决方法

    删除原有导入的多个jar包,更换为导入 Spire.Office.jar 。

    1.手动导入方法

      下载 Spire.Office for Java 包,解压,将lib文件夹下的Spire.Office.jar导入Java程序。

    2.Maven程序配置pom.xml导入

    <repositories>
            <repository>
                <id>com.e-iceblue</id>
                <url>http://repo.e-iceblue.cn/repository/maven-public/</url>
            </repository>
        </repositories>
    <dependencies>
        <dependency>
            <groupId> e-iceblue </groupId>
            <artifactId>spire.office</artifactId>
            <version>4.8.0</version>
        </dependency>
    </dependencies>

    说明

    Spire.Office for Java是Spire系列下Java平台产品的集合包,允许在一个程序中同时操作多种Spire产品支持的文件格式。如果在程序中导入的是单个产品的jar包,引起程序冲突,在编辑代码时不报错,会在程序运行时报错。

    如果出现类似错误,可参考以上方法,将原有导入的多个单独的jar包更改为导入Spire.Office.jar这一个jar包就可以了。

    —End—

  • 相关阅读:
    Spring学习-- AOP入门动态代理
    Spring学习--泛型依赖注入
    Spring学习--通过注解配置 Bean (三)
    Spring学习--通过注解配置 Bean (二)
    Spring学习--通过注解配置 Bean (一)
    十 字符串处理
    九 Shell中的数组
    八使用Shell函数
    七 循环结构
    六、流程控制语句
  • 原文地址:https://www.cnblogs.com/Yesi/p/15237428.html
Copyright © 2020-2023  润新知