通过 Java 连接到 OpenOffice 时没有 Office 可执行文件发现异常

Alo*_*lok 5 java openoffice.org openoffice-writer

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

我已经在 CLASSPATH 中指定了 OpenOffice 程序目录的路径,但出现此异常。如何解决此问题?

小智 5

我知道已经晚了7年,但我在尝试解决同样的问题时遇到了这个问题;即编译并运行一个简短的 Java 程序来启动,然后使用 Bootstrap.bootstrap() 方法连接到无头 LibreOffice / OpenOffice 进程。如果在 Eclipse 中编译并运行它就可以工作,但是当我尝试从命令行执行此操作时,我得到了“找不到 Office 可执行文件!” 错误。最终对我有用的是除了库之外,还将 Office 可执行文件的路径(/usr/lib/libreoffice/program/)添加到类路径中;juh.jar、jurt.jar、ridl.jar、unoil.jar 和 unoloader.jar。仅在运行程序时才需要执行此操作,而不是在编译程序时执行此操作。那是:

编译:

javac -classpath '.:/usr/lib/libreoffice/program/classes/juh.jar:/usr/lib/libreoffice/program/classes/jurt.jar:/usr/lib/libreoffice/program/classes/ridl.jar:/usr/lib/libreoffice/program/classes/unoil.jar:/usr/lib/libreoffice/program/classes/unoloader.jar' MyProg.java
Run Code Online (Sandbox Code Playgroud)

跑步:

java -classpath '.:/usr/lib/libreoffice/program/:/usr/lib/libreoffice/program/classes/juh.jar:/usr/lib/libreoffice/program/classes/jurt.jar:/usr/lib/libreoffice/program/classes/ridl.jar:/usr/lib/libreoffice/program/classes/unoil.jar:/usr/lib/libreoffice/program/classes/unoloader.jar' MyProg
Run Code Online (Sandbox Code Playgroud)

这对我来说很有效,无需使用任何其他工具。


Cap*_*rmi 2

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