通过Java连接到OpenOffice时,没有办公室可执行文件发现exception

使用XComponentContext xContext = Bootstrap.bootstrap() ,我试图通过Java获取OpenOffice的远程办公组件上下文。但是它引发了exception, no office executable found

我已经在CLASSPATH中指定了OpenOffice程序目录的路径,但是我得到了这个exception。如何解决这个问题?

1)从http://forum.openoffice.org/en/forum/download/file.php?id=836下载bootstrapconnector.jar

2)字符串oooExeFolder =“C:/ Program Files / OpenOffice.org 2.3 / program /”;

3)XComponentContext xContext = BootstrapSocketConnector.bootstrap(oooExeFolder);

来源表格查看http://forum.openoffice.org/en/forum/viewtopic.php?t=2520

您没有详细说明如何运行openoffice / libreoffice,但我会试一试。

我最近也跑了这个例外。 我相信这是最新的libreoffice(4.4?)和java 7.当我手动执行libreoffice然后连接Java时,它工作。 我们使用了一个首先运行libreoffice然后尝试连接多次的脚本。

原因在于: – 当启动libreoffice(编写器)时,它显示多次相同的错误消息,它无法找到java jre。 当点击消息时,libreoffice会启动,然后您可以通过libreoffice菜单指定某处找到jre。

另一个问题是Windows服务的文件系统权限启动脚本它只是没有执行libreoffice(在后台(我相信无头))然后JAVA程序试图连接。 这是通过为Windows服务提供正确的凭据来解决的。

因此,在连接到libreoffice / openoffice之前,必须使用命令启动它。 这可以在de background中运行而不在界面上显示libreoffice。 您必须查找soffice.exe的启动属性,并确保它由正确的用户启动。

试试这个“var xContext = Bootstrap.bootstrap();” 如果您正在使用C#,那么api(libreoffice 4.0和sdk 4.0)与框架4.0存在已知问题。 如果你的问题仍然存在,你可以使用api(libreoffice 3.6.6和sdk 3.6.6)我不知道java中是否有类似的东西你可以试试:)