ubuntu下搭建open offcie開發環境
最近在使用openoffice(以后簡稱oo)的sdk開oo的客戶端,其實主要目的就是使用oo sdk編程實現讀取各種格式的文檔,包括MS的,oo自己的,從文件輸入的,從clipboard輸入的。
openoffice 開發指南,首推oo的官方 使用ubuntu 8.04,搭建了oo的開發環境。
1. 安裝一些必須的軟件
主要參考使用netbeans開發openoffice程序,使用netbeans提供的openoffice插件。
只是要注意
5. 存在的問題
openoffice 開發指南,首推oo的官方 使用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安裝
- 下載sdk
- 因為現在oo的最新穩定版是2.4,所以我們下載sdk 2.4, 下載地址, 根據自己的操作系統,選擇不同的版本,這里我下載的是OOo-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中的內容。
- 打開終端,設置環境變了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
主要參考使用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中添加這些文件,就可以正常運行了。
- 參考這個頁面 , 使用一個庫來連接oo