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—
Java程序中使用Spire Jar包报java.lang.NoSuchMethodError类型错误的解决方法的更多相关文章
- Linux中的基本命令无法使用,报Command not found的错误的解决方法
一般我们在Linux中执行命令的时候,会报 Command not found 的错误,报这种错误一般有两种原因:一是你的系统中没有安装这个命令,需要你手动安装,另外一种原因就是平常这些命令用着好好的 ...
- java eclipse导出可运行jar包(java服务)和导入
java eclipse导出可运行jar包(java服务)和导入 二.导出可运行包步骤: 1.选择要导出的项目: 2.右键项目-单击export: 3.选择导出类型:(Runnable JAR ...
- Jquery中使用setInterval和setTimeout会提示缺少对象的错误,解决方法如下:
直接在ready中调用其他方法,会提示缺少对象的错误,解决方法如下: 方法1. 应用jQuery的扩展可以解决这个问题. $(document).ready(function(){ $.extend( ...
- Maven项目-jar包冲突:MyServlet is not a Servlet解决方法
异常显示:运行时jar包冲突异常 问题所在: jar包冲突,自己导入的jar包与tomcat中的jar包相同. 解决方法: 对(servlet,jsp)jar包设置作用域. 再次启动项目,问题已解决.
- 【原创】NuGet 出现“无法初始化 PowerShell 主机,如果将你的 PowerShell 执行策略设置设置为 AllSigned ,请先打开程序包管理控制台以初始化该主机” 错误的解决方法
现象: 网上的设置 AllSigned 等方法都无效..后来考虑可能跟命令行版本兼容性有关系,然后在注册表命令行配置里发现一 ForceV2 设置项,抱着试一试的心态改了下,果然解决了! 解决方法:修 ...
- VS2017 启动调试出现 无法启动程序“http://localhost:15613” 操作在当前状态中是非法的。 同时附加进程也是错误的解决方法
第一次发表这样的博客,不会如何的排版,还有很多的不懂,大神勿喷哈! 同时是给自己做的一次记录,已方便后面可能会同样出现该问题后不用像无头苍蝇一样到处百度乱找 VS2017 启动调试出现 无法启动程序 ...
- [SVN]TortoiseSVN报“500 Internal Server Error”错误的解决方法
背景:由于某种原因,本人重启了一下SVN服务的物理机,重启过后发现所有人访问SVN都报如下错误. 由于重启之前是没有做过任何改动,所以面对这个错误有点摸不着头脑,防火墙.网管.清缓存等方法都试过,还没 ...
- maven项目依赖jar包报 java.lang.classnotfoundexception:Type com.xx.xx.xxx not present 的解决
今天在工作的时候遇到了这样一个奇葩的异常: java.lang.classnotfoundexception:Type com.ys.yahu.vo.file.MobileFileVo not pre ...
- java程序中访问https时,报 PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
在java中使用https访问数据时报异常: Caused by: sun.security.validator.ValidatorException: PKIX path building fail ...
随机推荐
- GE ifix 5.5中关于历史报警表的制作
在关于污水处理厂项目实施过程中,按照业主要求,需要用到报警历史的查询功能,遂搜资料,整理在ifix5.5下如何实现报警历史的查询,经过一天的研究,以及多天的入坑,出坑,总算完成.现整理如下,供后来人参 ...
- phpmyadmin error:#2002 - 服务器没有响应 (或者本地 MySQL 服务器的套接字没有正确配置)
1. 将 "phpMyAdmin/libraries"文件夹下的config.default.php文件中的$cfg['Servers'][$i]['host'] = 'local ...
- 创建函数function
1.创建普通函数 function 函数名称(){ 函数体://封装的代码 } 函数名称()://调用函数 function getSum(){ for(var i=1,sum=0;i<=100 ...
- centos7 安装mariadb、"systemctl status mariadb.service" and "journalctl -xe" for details
centos7 mariadb 安装 也可解决此错误:ob for mariadb.service failed because the control process exited with err ...
- Spring Boot实现数据访问计数器
1.数据访问计数器 在Spring Boot项目中,有时需要数据访问计数器.大致有下列三种情形: 1)纯计数:如登录的密码错误计数,超过门限N次,则表示计数器满,此时可进行下一步处理,如锁定该账户 ...
- Android开发音视频方向学习路线及资源分享,学完还怕什么互联网寒冬?
接触Android音视频这一块已经有一段时间了,跟普通的应用层开发相比,的确更花费精力.期间为了学习音视频的录制,编码,处理也看过大大小小的几十个项目.总体感觉就是知识比较零散,对刚入门的朋友比较不友 ...
- MySQL-16-主从复制进阶
延时从库 介绍 延时从库: 是我们人为配置的一种特殊从库,人为配置从库和主库延时N小时 为什么要有延时从库 数据库故障 物理损坏,普通的主从复制非常擅长解决物理损坏 逻辑损坏,普通主从复制没办法解决逻 ...
- 【笔记】CART与决策树中的超参数
CART与决策树中的超参数 先前的决策树其实应该称为CART CART的英文是Classification and regression tree,全称为分类与回归树,其是在给定输入随机变量X条件下输 ...
- ad room 拷贝
当一个电路图中有多个相同组件的时候,我哦们一般使用 room格式拷贝. 基本思路 1.方法一 电路图使用repeat 多通道设计 2.简易的赋值粘贴,事实证明简单有效. 3.在pcb中删除对应一个单 ...
- Mysql使用存储过程快速添加百万数据
前言 为了体现不加索引和添加索引的区别,需要使用百万级的数据,但是百万数据的表,如果使用一条条添加,特别繁琐又麻烦,这里使用存储过程快速添加数据,用时大概4个小时. 创建一个用户表 CREATE TA ...