を使用してXComponentContext xContext = Bootstrap.bootstrap()
、Java を介して OpenOffice のリモート オフィス コンポーネントのコンテキストを取得しようとしていますが、例外が発生します
no office executable found
。
CLASSPATH で OpenOffice のプログラム ディレクトリのパスを指定しましたが、この例外が発生します。この問題を解決するにはどうすればよいですか?
を使用してXComponentContext xContext = Bootstrap.bootstrap()
、Java を介して OpenOffice のリモート オフィス コンポーネントのコンテキストを取得しようとしていますが、例外が発生します
no office executable found
。
CLASSPATH で OpenOffice のプログラム ディレクトリのパスを指定しましたが、この例外が発生します。この問題を解決するにはどうすればよいですか?
1) http://forum.openoffice.org/en/forum/download/file.php?id=836から bootstrapconnector.jar をダウンロードします。
2) 文字列 oooExeFolder = "C:/Program Files/OpenOffice.org 2.3/program/";
3) XComponentContext xContext = BootstrapSocketConnector.bootstrap(oooExeFolder);
ソースフォームをチェックアウトhttp://forum.openoffice.org/en/forum/viewtopic.php?t=2520
openoffice / libreofficeの実行方法についてはあまり情報を指定していませんが、試してみます。
私も最近この例外で走りました。最新のlibreoffice(4.4?)とjava7を使用したと思います。libreofficeを手動で実行してからJavaに接続したときに機能しました。最初にlibreofficeを実行し、次に複数回接続を試みたスクリプトを使用しました。
原因:-libreoffice(writer)を起動すると、javajreが見つからないという同じエラーメッセージが複数回表示されました。メッセージをクリックすると、libreofficeが起動し、libreofficeのメニューからjreの場所を指定できます。
もう1つの問題は、Windowsサービスがスクリプトを開始するためのファイルシステム権限であり、libreofficeを実行しませんでした(バックグラウンドで(ヘッドレスだと思います))、JAVAプログラムが接続を試みました。これは、Windowsサービスに適切な資格情報を与えることで解決されました。
したがって、libreoffice / openofficeに接続する前に、コマンドで開始する必要があります。これは、インターフェイスにlibreofficeを表示せずにバックグラウンドで実行できます。soffice.exeの起動プロパティを検索し、適切なユーザーによって起動されていることを確認する必要があります。
この「var xContext = Bootstrap.bootstrap();」を試してください。C# を使用している場合 フレームワーク 4.0 の API (libreoffice 4.0 および SDK 4.0) には既知の問題があります。問題が解決しない場合は、API (libreoffice 3.6.6 および SDK 3.6.6) を使用できます。Java に同様のものがあるかどうかはわかりませんが、とにかく試すことができます :)