繁体   English   中英

为什么我得到java.lang.AbstractMethodError:org.apache.poi.xssf.usermodel.XSSFCellStyle.getFillBackgroundColorColor()?

[英]why I am getting java.lang.AbstractMethodError: org.apache.poi.xssf.usermodel.XSSFCellStyle.getFillBackgroundColorColor()?

我在下一行的Java中收到此错误:

Color cellColor = (row.getCell(1).getCellStyle().getFillBackgroundColorColor());`

java.lang.AbstractMethodError:org.apache.poi.xssf.usermodel.XSSFCellStyle.getFillBackgroundColorColor()Lorg / apache / poi / ss / usermodel / Color;

我还检查了WEB-INF/lib文件夹,只有两个Jars ojdbc5.jarojdbc6.jar

我不知道为什么在使用getFillBackgroundColorColor()时出现此错误。

基本上,我想获取单元格的颜色。 有人可以帮我解决问题吗?

AbstractMethodError通常意味着依赖项之间存在混淆。 也许您缺少poi-ooxml或它有多个版本?

拥有WEB-INF/lib意味着您正在部署WAR文件。 在这种情况下,库可以位于几个不同的位置,例如$TOMCAT_HOME/lib 检查您的类路径,例如通过打印其中的所有URL:

ClassLoader cl = ClassLoader.getSystemClassLoader();
URL[] urls = ((URLClassLoader) cl).getURLs();
for (URL url : urls) {
    System.out.println(url.getFile());
}

并确保POI的版本正确。 如果您使用的是Tomcat,则可以查看本文

附带说明一下,您可能不应该发送ojdbc5.jar ,它是非常老的JDK和Oracle DB的非常老的驱动程序。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM