将 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 中的整个文档
从 JAVA 使用 LibreOffice/OpenOffice 转换文件格式
OpenOffice uno.util.Bootstrap.bootstrap() 挂起并且不返回