gpt4 book ai didi

java - POI 3.8 与 dbunit 2.4.9 不兼容

转载 作者:行者123 更新时间:2023-12-01 14:19:06 24 4
gpt4 key购买 nike

我们在我们的应用程序中使用 POI 3.8。我们的项目正在使用 dbunit 从 .xls 文件加载数据集,显然 dbunit 与 POI 3.8 不兼容。我得到以下异常,

java.lang.NoSuchMethodError: org.apache.poi.hssf.usermodel.HSSFDateUtil.isCellDateFormatted(Lorg/apache/poi/hssf/usermodel/HSSFCell;)Z 

似乎 dbunit 需要 POI 3.2。但是我不能降级我的 POI 版本。有什么办法可以解决这个问题。在一篇文章中,我读到了有关下载 dbunit 源代码并针对 poi 3.8 重新编译它的信息。如何进行重新编译?

最佳答案

http://sourceforge.net/p/dbunit/bugs/332/ 的 dbunit-bugtracker 上有一些关于这个的讨论,不幸的是那里还没有更新,所以似乎 dbunit 本身还不支持这个。

我能够通过以下步骤针对较新的 Apache POI 版本重新编译 dbunit:

  1. http://dbunit.svn.sourceforge.net/svnroot/dbunit/tags/dbunit-2.4.9 查看 dbunit 代码通过svn co http://dbunit.svn.sourceforge.net/svnroot/dbunit/tags/dbunit-2.4.9
  2. 调整 pom.xml 以将 poi-dependency 设置为 3.9-FINAL 在较新的版本中被删除
  3. 运行mvn package
  4. 如果由于缺少 oracle-jar 而导致编译失败,请按照 https://stackoverflow.com/a/18042525/411846 中的步骤进行操作
  5. 如果测试在构建过程中失败,您可以尝试使用 mvn -DskipTests=true package 跳过它们

生成的二进制文件位于 target/dbunit-2.4.9.jar

关于java - POI 3.8 与 dbunit 2.4.9 不兼容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18271937/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com