ubuntu下搭建open offcie开发环境


最近在使用openoffice(以后简称oo)的sdk开oo的客户端,其实主要目的就是使用oo sdk编程实现读取各种格式的文档,包括MS的,oo自己的,从文件输入的,从clipboard输入的。

    openoffice 开发指南,首推oo的官方Developers_Guide,介绍的很全面,唯一的缺点就是太长了。可以当成手册来看。可以通过分析sdk中的例子,快速的掌握如何使用这个sdk。本文主要参考Developer's Guide中的第一章,以及sdk安装后的帮助手册。

    使用ubuntu 8.04,搭建了oo的开发环境。

    1. 安装一些必须的软件

    jdk,jre

 sudo apt-get install sun-java6-jre sun-java6-jdk
 


    openoffice

    这个一般ubuntu都是默认安装好的。

    openoffice-java-common

    这个很重要,ubuntu中安装的oo不包括java开发库,所以要自己手动安装一下。不然编译的时候就会提示找不到类。

    sudo apt-get install openoffice.org-java-common
 


    make, g++, gcc, zip

    这几个命令一般都是安装好的,如果没有,可以使用apt-get安装

    2. 安装sdk

    下载sdk

    因为现在oo的最新稳定版是2.4,所以我们下载sdk 2.4, 下载地址, 根据自己的操作系统,选择不同的版本,这里我下载的是OOOOo-SDK_2.4.0_LinuxIntel_install.sh

    在ubuntu命令行下运行这个shell文件,在/var/tmp/unpack_openofficeorg/RPMS目录下得到一个openoffice.org-sdk-2.4.0-9286.i586.rpm文件。使用alien命令将rpm文件转为deb文件,然后安装这个deb文件。如果提示权限不够,请修改一下文件权限。

    sudo alien  openoffice.org-sdk-2.4.0-9286.i586.rpm
    sudo dpkg -i openoffice.org-sdk-2.4.0-9286.i586.deb

    设置环境变量

    sdk安装地址是/opt/openoffice.org2.4_sdk,进入这个目录

    运行./setsdkenv_unix

    填写相应参数,其中officehome,填写/usr/lib/openoffice,java jdk目录是/usr/lib/jvm/java-6-sun,其他基本都是默认值

    完成之后,会在~/usrname/openoffice.org2.4_sdk下生成环境变了设置脚本,每次编译oo程序前,运行source ~/openoffice.org2.4_sdk/setsdkenv_unix.sh就可以了。

    安装完成之后,请认真阅读/opt/openoffice.org2.4_sdk/index.html中的内容。

    3. 运行sdk中的例子

    打开终端,设置环境变了source ~/openoffice.org2.4_sdk/setsdkenv_unix.sh

    进入sdk的example目录,cd /opt/openoffice.org2.4_sdk/example/java/目录,这个目录里面有很多种类的例子,比如我们进入Text目录

    到Text目录下,运行make命令,就会自动编译所有程序。目标程序存放地址也会显示出来。

    根据提示,可以运行make *****.run 命令,启动相应的example程序。或者,到输入目录下,运行 java -jar ****.jar

    通过阅读exmaple代码,可以快速的学会如何使用oo api, api的文档在/opt/openoffice.org2.4_sdk/docs中,其中

    common是通用文档,这里面可以找到大部分的使用方法,以后多多查阅

    java,是java专用的api

    4. 安装netbeans作为openoffice开发ide

    主要参考使用netbeans开发openoffice程序,使用netbeans提供的openoffice插件。

    只是要注意

    配置路径的时候,openoffice路径是/usr/lib/openoffice,openoffice sdk路径是/opt/openoffice.org2.4_sdk

    建立工程之后,运行,会提示“no executable openoffice",解决方法是在工程的library中加入/usr/lib/openoffice/program
5. 存在的问题

    oo编写的程序,需要一个可以运行的oo才可以执行,这个oo可以是本地的,也可以是远程的。就是相当于一个服务器。那么,这样如何在软件的发行版中加入一个完成的oo?也许说明,这个软件要依赖于一个完成的oo,所以请用户提前安装?

    在netbeans下开发的oo程序,打包为jar文件之后,不能正常运行。解决方法有两个

    通过分析例子的编译脚本/opt/settings/std.mk文件,发现打包后的jar中多了一些文件,包括win/unowinreg.dll,/com/sun/star/lib/loader/下的一些类。这些类估计是寻找oo程序的。只需要在jar中添加这些文件,就可以正常运行了


« 
» 
快速导航

Copyright © 2016 phpStudy | 豫ICP备2021030365号-3