-
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包就可以了。
出 处:https://www.cnblogs.com/Yesi/p/15237428.html