簡體   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