2013-03-19 10 views
5

私は、LibreOfficeの4.0.1 UNO SDK、aaaandを使ってJavaプロジェクトを開発し始めました。私はLibreOfficeの代わりにOpenOffice.orgを使用しても同じことが適用できると思います。Open/LibreOfficeでUNOとJavaを始めよう

私はEclipse Juno 4.2を使用しており、「Hello World」のようなプロジェクトを作成しました。私は(外部クラスフォルダとして追加)クラスパスに/programディレクトリを追加し、右の先頭にコード

XComponentContext ctx = Bootstrap.bootstrap(); 

のこの行は、次のスタックトレースをUnsatisfiedLinkError例外をスロー:

Exception in thread "main" java.lang.UnsatisfiedLinkError: no jpipe in java.library.path 
    at java.lang.ClassLoader.loadLibrary(Unknown Source) 
    at java.lang.Runtime.loadLibrary0(Unknown Source) 
    at java.lang.System.loadLibrary(Unknown Source) 
    at com.sun.star.lib.util.NativeLibraryLoader.loadLibrary(NativeLibraryLoader.java:50) 
    at com.sun.star.lib.connections.pipe.PipeConnection.<clinit>(PipeConnection.java:48) 
    at com.sun.star.lib.connections.pipe.pipeConnector.connect(pipeConnector.java:110) 
    at com.sun.star.comp.connections.Connector.connect(Connector.java:114) 
    at com.sun.star.comp.urlresolver.UrlResolver$_UrlResolver.resolve(UrlResolver.java:108) 
    at com.sun.star.comp.helper.Bootstrap.bootstrap(Bootstrap.java:301) 
    at xx.test.unotest.UnoTest.main(UnoTest.java:16) 

命令を囲んでいるtry/catchさえありますが、トリガーされません。

私はUNOを使い始めることに関するまともな文書を見つけることができないので、何がうまくいかなかったのか分かりません。 SDKがインストールされ、環境変数が設定されます。

何か不足していますか?

:私はWindows 7 64ビットを使用しています。たぶん、これは問題と関係があります。

+0

のLibreOfficeの最新バージョンをダウンロードする必要があります= localhost、port = 8100; urp; StarOffice.ServiceManager' http://www.oooforum.org/forum/viewtopic.phtml?t=27578 –

+0

@zachlatta悲しいことに、私は同じ結果を得ています。 – MaxArt

+0

Java環境変数は正しく設定されていますか? –

答えて

6

さて、ライブラリのjpipe.dllは、PATH環境変数にリストされているディレクトリに見つかりませんでした。 LibreOffice 4.0/URE/binというパスを追加する必要がありました。

java.library.pathへのパスの追加は機能しません。

ので、はGNUを必要非常に迷惑SDKのインストール、後に私が使用してMinGWのインストールに私を強制しませんツール、および単に以来見つかりませんでした安っぽいのzipツールを作りますinfo-zip.orgのミラー(api.libreoffice.orgの出典)は、がすべてダウン、まだになっています。これらの愚かで未確認の問題がありました。

これで、64ビットのものでした.jpipe.dllは32ビットのみのライブラリであり、ロードできなかったので、32ビットのJDK/JREに切り替える必要がありました。それを機能させるために

男。私はインターフェイスの使いやすさを欠いていますが、これは開発者の生活を不必要に難しくしているだけです!

これがオープンソースソフトウェアがしばしば失敗する理由です。 `-accept =ソケット、ホスト:あなたは、その後のLibreOfficeの32ビットを使用している場合

+3

'/ usr/lib/ure/lib'をlinuxのクラスパス(' libjpipe.so'用)に追加します –

2

uは次の接続を試してみてください32を切り替えるが、work.OtherwiseへのJDKの64ビット

関連する問題