Не удалось инициализировать org.apache.poi.xslf.usermodel.XMLSlideShow в Coldfusion
<cfscript>
filepath = ExpandPath("./1.ppt");
fis = CreateObject( "java", "java.io.FileInputStream" ).init(filepath);
//initialize slideshow object with input stream
src = createObject("java","org.apache.poi.xslf.usermodel.XMLSlideShow").init(fis);
fis.close();
</cfscript>
Я не могу инициализировать объект org.apache.poi.xslf.usermodel.XMLSlideShow в Coldfusion. Получение следующей ошибки: невозможно найти конструктор для класса org.apache.poi.xslf.usermodel.XMLSlideShow, который принимает параметры типа ( java.io.FileInputStream)
Пожалуйста помоги
1 ответ
Я знаю, что вы сказали, что используете POI 3.8, но в сообщении об ошибке говорится, что вы используете более старую версию.
Как отметил Антоний, ColdFusion 9 поставляется с более старой версией (POI 3.5), что createObject()
использует. Не было XMLSlideShow(InputStream)
конструктор еще в версии 3.5. Отсюда и сообщение об ошибке.
Есть два (2) способа загрузить более новую версию POI:
Используйте JavaLoader для параллельного запуска новой версии
Заменить существующие банки POI в
{cf_root}\lib
, Затем перезапустите сервер CF. Примечание: я не делал это лично, поэтому я не знаю, нарушит ли это другие функции