Could not initialize class com.jacob.activeX.ActiveXComponent

来源:互联网 发布:博罗县网络问政中心 编辑:程序博客网 时间:2024/05/20 09:22
使用jacob调用Windows的com对象,将Word,Excel,PPT转换为pdf时遇到的问题: nested exception is java.lang.NoClassDefFoundError: Could not initialize class com.jacob.activeX.ActiveXComponent] with root cause java.lang.NoClassDefFoundError:  Could not initialize class com.jacob.activeX.ActiveXComponent


也就是这里报错了
ActiveXComponent app = new ActiveXComponent("PowerPoint.Application");


原因:

jacob(java com bridge,java com桥)分为两个部分,jacob.jar,jacob.dll,报这个错误 【无法初始化类com.jacob.activex.activexcomponent】是因为jacob.jar和jacob.dll的版本不一致。调用系统组件dll,通过这个com桥来操作com组件,最终完成对office文档的操作。 



解决办法

1、下载 对应版本的jacob.jar,jacob.dll,在工程中引入该版本jacob.jar包。


2、将dll文件放在jdk的path目录(System.getProperty("java.library.path");)下面,或者直接在jdk/bin、jre/bin、system32/system64下面都放一份。

 
阅读全文
0 0
原创粉丝点击