Не удалось инициализировать 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:

  1. Используйте JavaLoader для параллельного запуска новой версии

  2. Заменить существующие банки POI в {cf_root}\lib, Затем перезапустите сервер CF. Примечание: я не делал это лично, поэтому я не знаю, нарушит ли это другие функции

Другие вопросы по тегам