我正在尝试使用 JAVA 中的 OpenOffice SDK 加载文档。我正在使用
XComponentContext xContext = Bootstrap.bootstrap()
,并尝试通过Java获取OpenOffice的远程办公室组件上下文。但它引发了异常no office executable
。
我已附上我的JAVA代码、openOffice SDK路径和Java JDK路径。 OpenOffice 的版本是
4.1.14
,机器是 MacOS x86_64
和 Java version 8
我本地OpenOffice sdk的路径:
错误消息:未找到 Office 可执行文件
OpenOffice SDK 的位置 -
/Users/madhup/Desktop/OpenOffice_SDK
Java JDK 路径 -
/Library/Java/JavaVirtualMachines/jdk1.8.0_321.jdk/Contents/Home/bin/javac
zshrc简介:
Java代码:
import com.sun.star.beans.PropertyValue;
import com.sun.star.comp.helper.Bootstrap;
import com.sun.star.frame.XComponentLoader;
import com.sun.star.lang.XComponent;
import com.sun.star.uno.UnoRuntime;
import com.sun.star.uno.XComponentContext;
import com.sun.star.comp.helper.BootstrapException;
public class LoadDocument {
public static void main(String[] args) throws BootstrapException {
try {
XComponentContext xContext = Bootstrap.bootstrap();
com.sun.star.lang.XMultiComponentFactory xMCF = xContext.getServiceManager();
Object oDesktop = xMCF.createInstanceWithContext(
"com.sun.star.frame.Desktop", xContext);
XComponentLoader xCompLoader = (XComponentLoader) UnoRuntime.queryInterface(
XComponentLoader.class, oDesktop);
String documentURL = "file:///Users/path_to_file/hello.odt";
PropertyValue[] loadProps = new PropertyValue[0];
XComponent xComponent = xCompLoader.loadComponentFromURL(
documentURL, "_blank", 0, loadProps);
if (xComponent != null) {
zshrc profile paths System.out.println("Document loaded successfully.");
xComponent.dispose();
} else {
System.out.println("Failed to load the document.");
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
Pom 文件:
<dependencies>
<dependency>
<groupId>org.openoffice</groupId>
<artifactId>unoil</artifactId>
<version>4.1.2</version>
</dependency>
<dependency>
<groupId>org.openoffice</groupId>
<artifactId>juh</artifactId>
<version>4.1.2</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.openoffice</groupId>
<artifactId>jurt</artifactId>
<version>4.1.2</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.openoffice</groupId>
<artifactId>ridl</artifactId>
<version>4.1.2</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.openoffice</groupId>
<artifactId>officebean</artifactId>
<version>4.1.2</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.github.jeremysolarz</groupId>
<artifactId>bootstrap-connector</artifactId>
<version>1.0.0</version>
</dependency>
</dependencies>
我已经探索过,设置了 SDK 路径,并添加了类路径,如 通过 Java 连接到 OpenOffice 时没有 Office 可执行文件发现异常,但仍然收到错误。
请帮忙解决这个问题。