如何将Open Office(32位)与64位Java运行时环境集成?

3
我目前在Windows 2012上运行ColdFusion 11的64位安装和Java JRE 1.8.66 64位。我想安装Open Office并使用JODConverter Java库,以便可以使用库将Office文件转换为PDF文件。我已成功在Windows 2003 32位上使用ColdFusion 8 32位运行此安装程序。我还在Windows 7上成功地使用ColdFusion 8和64位JRE进行了操作。
在CF11 / 2012服务器上,我已安装Open Office 3.4.1,但它只允许32位安装。我认为32位/64位差异导致问题,因为每次尝试实例化Java库时,它都会抛出“对象实例化异常”:
堆栈跟踪:
Message: org.artofsolving.jodconverter.office.DefaultOfficeManagerConfiguration
    StackTrace: java.lang.ClassNotFoundException: org.artofsolving.jodconverter.office.DefaultOfficeManagerConfiguration
        at coldfusion.bootstrap.BootstrapClassLoader.loadClass(BootstrapClassLoader.java:235)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at coldfusion.runtime.java.JavaProxyFactory$1.run(JavaProxyFactory.java:156)
        at java.security.AccessController.doPrivileged(Native Method)
        at coldfusion.runtime.java.JavaProxyFactory.getProxy(JavaProxyFactory.java:151)
        at coldfusion.runtime.ProxyFactory.getProxy(ProxyFactory.java:65)
        at coldfusion.runtime.CFPage.createObjectProxy(CFPage.java:6167)
        at coldfusion.runtime.CFPage.CreateObject(CFPage.java:6130)
        at coldfusion.runtime.CFPage.CreateObject(CFPage.java:6064)
        at coldfusion.runtime.CFPage.CreateObject(CFPage.java:6039)
        at coldfusion.runtime.CFPage.CreateObject(CFPage.java:5986)

有没有办法使这个集成功能正常工作?

你看过关于在ColdFusion 11中配置OpenOffice的文档吗?安装集成技术 底部有一个配置OpenOffice的部分 看一下Windows服务器类路径和库路径中包含的JAR文件。如果这仍然无法解决实例化问题,那么看起来他们还有一个远程运行OpenOffice的选项,如果确实是位数问题(也在链接的文档中提到)。 - Miguel-F
在Windows上,您不能混合使用32位和64位的Java;WoW64子系统无法与WoW32接口。 - Elliott Frisch
@Miguel-F,是的,我看过了,但是它并没有告诉我任何我不知道的东西。我在考虑是否需要重新安装32位的ColdFusion。不知道是否有什么技巧可以让它正常工作。 - Eric Belair
您可以在同一台Windows桌面上安装32位和64位的JVM,只要它们安装到不同的文件夹中即可。为什么在Windows 2012上不能这样做呢?您尝试过吗?如果可以,那么只需要配置Open Office指向32位JVM即可。 - Adrian J. Moreno
@AdrianJ.Moreno 是的,我知道并尝试过了,但是我正在Java上运行ColdFusion,并且ColdFusion安装是64位的。 - Eric Belair
1
你可以尝试使用64位的LibreOffice 5版本,看看它是否已经足够稳定了。 - Jim K
1个回答

2

看起来最好的解决方案是用CFDOCUMENT调用替换我现有的代码,因为在ColdFusion 11中不再需要Java对象来实现所需的功能。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接