将 Java UNO 代码从 OpenOffice 2.4 迁移到 3.0

Posted

技术标签:

【中文标题】将 Java UNO 代码从 OpenOffice 2.4 迁移到 3.0【英文标题】:Migrating Java UNO code from OpenOffice 2.4 to 3.0 【发布时间】:2008-10-22 16:21:50 【问题描述】:

我编写了一个漂亮的小工具,用于将电子表格转换为纯文本。 由于它是我的私人黑客工具,它依赖于 OpenOffice 2.x 来读取文件。

但是当我安装 OpenOffice 3 并试图让它运行时,我失败了,因为我要么丢失了一些 JAR 文件,要么已经替换了一半的类。

我包含了来自 URE/Java 的所有五个 JAR 文件(URE:UNO 运行时环境,OpenOffice.org 托管的子集和 管理 UNO 组件)并且仍然缺少这些类:

com.sun.star.frame.XComponentLoader
com.sun.star.frame.XController
com.sun.star.frame.XDesktop
com.sun.star.frame.XModel
com.sun.star.frame.XStorable
com.sun.star.sheet.XSpreadsheet
com.sun.star.sheet.XSpreadsheetDocument
com.sun.star.sheet.XSpreadsheetView
com.sun.star.text.XTextDocument

任何指针?

【问题讨论】:

那不好...本来打算做一些UNO编码,但如果界面不稳定,我得重新考虑! 【参考方案1】:

我找到了我缺少的东西。

我必须包含以下罐子

URE/java/juh.jar
URE/java/jurt.jar
URE/java/ridl.jar
Basis/program/classes/unoil.jar  

我之前错过的最后一个 - 请注意德语 OOo 版本

而且,我以前不需要做的事情,我必须包含 OOo 可执行文件的路径,例如

c:/program/OpenOffice.org 3/program/

之后,无需更改代码,它就像以前一样工作。

所以,Brian,UNO 的 API 即使在主要版本之间也是稳定的。这只是我必须修复的类路径。

【讨论】:

以上是关于将 Java UNO 代码从 OpenOffice 2.4 迁移到 3.0的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 UNO 遍历 OpenOffice/LibreOffice 中的整个文档

计数页面 UNO Java

从 JAVA 使用 LibreOffice/OpenOffice 转换文件格式

OpenOffice uno.util.Bootstrap.bootstrap() 挂起并且不返回

在最新的 Open Office 安装中未找到 Python Uno

如何使用 C# 在 OpenOffice.org uno 中设置 XTextTable 的属性?