NoSuchMethodError: org.apache.poi.ss.usermodel.Font.getIndexAsInt () - PullRequest
0 голосов
/ 10 декабря 2018

Исключение произошло в org.apache.poi.ss.usermodel.Font.getIndexAsInt() при вызове setFont.

public static CellStyle getFontBoldedUnderlinedCell(SXSSFWorkbook workbook) {
    Font font = workbook.createFont();
    font.setBold(true);
    font.setUnderline(XSSFFont.U_SINGLE);
    CellStyle style = workbook.createCellStyle();
    style.setFont(font);
    return style;
}

Мой проект содержит следующие библиотеки.

jar files

Как решить эту проблему?

StackTrace:

11:03:00,255 SEVERE com.epic.cmsreports.util.interceptor.AccessControlIntercepter] 
(default task-57) null: java.lang.reflect.InvocationTargetException at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:453)
at com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:292)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:255)
at com.epic.cmsreports.util.interceptor.AccessControlIntercepter.intercept(AccessControlIntercepter.java:66)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
at com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:138)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
at com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:211)
at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
at com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:211)
at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
at org.apache.struts2.interceptor.MultiselectInterceptor.intercept(MultiselectInterceptor.java:75)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)

1 Ответ

0 голосов
/ 10 декабря 2018

Согласно JavaDoc getIndexAsInt был добавлен в версии 4.0.0.

Похоже, что в действительности вы используете poi-ooxml <4.0.0, вы должны проверить, есть ли у вас только одна зависимость jar.</p>

Если вы используете maven или что-то подобное, вам нужно увидеть дерево зависимостей.

Если вы просто добавляете jar-файл в каталог, я рекомендую искать «org.apache.poi.ss.usermodel» и «org.apache.poi.xssf.streaming» во всех ваших jar-файлах (просто используя поиск файлов), когда вы найдете все классы шрифтов, вынужно проверить, какая у вас версия (откройте файл jar как zip-архив).

...