Tomcat以应用形式启动时,Jacob调用没问题,当以服务的形式,或以形如Jenkins调用批处理执行call startup.bat使Tomcat跑在后台时,再或者用Tomcat的manager进行热部署时,Jacob调用组件服务出现问题。
解决方法:
1.首先确保使用的jar包与Jacob.dll的版本对应,既然以应用的形式运行没问题,说明版本没有问题;
2.要将jacob.dll放入jdk目录下的/jre/bin里面,这一步必做;
3.组件服务中要配置用户和权限,例如使用Jacob调用word,就在组件中找到Microsoft Word 97 - 2003 文档,WPS可能是Microsoft Word 06 - 07 文档,右击属性,把权限都勾上,再到标识面板,配置成下列用户,输入用户名密码。(刚开始搞了好久,按网上说的配成交互式用户,结果只有远程到服务器的时候才生效,远程退出就会调用失败。网上还有说64位系统要在C:\Windows\SysWOW64\config\systemprofile目录下新建Desktop文件夹,或者在Tomcat的bin目录下放jacob.dll、在lib下放jacob.jar,亲测无效)