При выполнении kettle-преобразований в контейнере сервлетов (по крайней мере, на Tomcat) библиотеки poi и dom4j, от которых зависит kettle, нужно не включать в war-файл, а класть в директорию lib/ томката, иначе, если библиотеки присутствуют только в war-нике, kettle вообще их не видит, если же они присутствуют и там, и там, то происходят ошибки вида:
Вообще, в /lib томката придется положить следующие библиотеки для случая работы с Excel (xls / xlsx) таблицами:
java.lang.ClassCastException: org.dom4j.DocumentFactory cannot be cast to org.dom4j.DocumentFactoryЧто говорит о том, видимо, что класс загружается дважды разными класс-лоадерами.
java.lang.LinkageError: loader constraint violation: loader (instance of org/apache/catalina/loader/WebappClassLoader) previously initiated loading for a different type with name "org/apache/poi/ss/usermodel/Workbook"
Вообще, в /lib томката придется положить следующие библиотеки для случая работы с Excel (xls / xlsx) таблицами:
- dom4j
- jaxen
- poi-ooxml
- poi
- xbean
- oooxml-schemas
Комментариев нет:
Отправить комментарий