两个 jar 之间的java类引用问题

标签 java apache-poi birt

我有一个 java 类来处理 XLS 文件并使用 apache poi jar (poi-ooxml-3.8-20120326.jar) 来执行此操作。我最近还部署了 BIRT jar 来生成一些报告。从这里开始,当我调用我的 java 类进行 XLS 处理时,出现以下错误。

java.lang.NoSuchMethodError: org.apache.poi.ss.usermodel.WorkbookFactory.create(Ljava/io/File;)Lorg/apache/poi/ss/usermodel/Workbook;

我发现“WorkbookFactory”类在 BIRT 相关的 jar (org.eclipse.birt.runtime_4.2.1.v20120918-1113.jar) 中也可用,并且指定的方法在此 jar 中不可用。这可能会导致上述异常。

如何通过在服务器中部署两个 jars(POI 和 BIRT)来解决这个问题。

最佳答案

我在使用 POI 3.13 时遇到了使用 POI 3.9 的 BIRT 4.4 的相同问题。

因为我正在使用 Maven,所以我只是在 Maven Dependencies 部分使用了“Exclude Maven Artifact”,以在不影响整体 BIRT 依赖性的情况下摆脱旧版本的 POI。

我希望这不会影响 BIRT 的完整性。

关于两个 jar 之间的java类引用问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17184585/

相关文章:

java - 使用 xml 配置来休息 Spring bean

java数组名称长度问题

java - 从 Servlet 发送 Excel 工作簿时遇到困难

java - 使用 Apache POI 在 Excel 中的一定数量的单元格后字体消失

java - SQLite - 检查时间是否超过一个月前

java - 单元格样式的使用

java - Birt表动态格式化单元格

java - BIRT Excel 格式的奇怪单元格值

java - BIRT 获取报告中所需参数的列表

java - 使用法拉利方法求四次方程的实根