<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>
我无法在coldfusion中初始化org.apache.poi.xslf.usermodel.XMLSlideShow对象。 获得以下错误: 无法为接受类型为(java.io.FileInputStream)的参数的org.apache.poi.xslf.usermodel.XMLSlideShow类找到构造函数
请帮忙
答案 0 :(得分:2)
我知道您说您使用的是POI 3.8,但错误消息显示您使用的是旧版本。
正如Antony所提到的,ColdFusion 9与旧版本(POI 3.5)捆绑在一起,这是createObject()
使用的版本。版本3.5中没有XMLSlideShow(InputStream)
构造函数。因此错误消息。
有两种方法可以加载更新版本的POI:
使用JavaLoader并行运行较新版本
替换 {cf_root}\lib
中现有的POI广告资源。然后重启CF服务器。 注意:我个人没有这样做,所以我不知道这样做是否会破坏其他功能