8

LibreOffice の 4.0.1 UNO SDK を使用して Java プロジェクトの開発を始めたところです。LibreOffice の代わりに OpenOffice.org を使用した場合も同じことが適用できると思います。

私は 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ビットを使用しています。たぶん、これは問題と関係があります。

4

5 に答える 5

6

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

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

そのため、非常に煩わしい SDK のインストールの後、使用しない GNU make ツールが必要になり、MinGW のインストールを余儀なくされました。また、info-zip.org からのミラー ( api.libreoffice.org によって提供されたソース) はすべてダウンしていますが、私はまだこれらの愚かで文書化されていない問題を抱えていました。

これが解決されると、jpipe.dll は 32 ビットのみのライブラリであり、ロードできなかったため、64 ビットは実際には問題でした。そのため、動作させるために 32 ビット JDK/JRE に切り替える必要がありました

おとこ。インターフェイスの使いやすさがなくても大丈夫ですが、これは開発者の生活を不必要に困難にしています!

これが、オープンソース ソフトウェアが時々ひどいものになる理由です。

于 2013-03-21T10:54:52.097 に答える
2

32 ビットの libreoffice を使用している場合は、32 を切り替える必要がありますが、jdk を機能させる必要があります。それ以外の場合は、64 ビットの最新バージョンの libreoffice をダウンロードしてください。

于 2015-07-23T08:42:25.180 に答える
0

Ubuntu 18.04 の場合、この場所にlibjpipe.soを追加することで問題を解決できました file:///usr/lib/jni/libjpipe.so

libre office がインストールされている場合、このファイルは /usr/lib/libreoffice/program/libjpipe.so から取得できます。

これで問題は解決するはずです。

于 2020-05-11T06:05:52.420 に答える