この共通準備で通常、十分です、UNOインターフェイスを作成されるのでなければ。本当に、それはシンプルです。
話題
About: UNO (Universal Network Objects)
About: LibreOffice
About: Apache OpenOffice
About: Javaプログラミング言語
この記事の目次
- 開始コンテキスト
- ターゲットコンテキスト
- オリエンテーション
- 本体
- 1: "共通"とは、どういう意味なのか
- 2: 当然の前提条件
- 3: 4個のJarファイル群へのクラス群パス群をセットする
- 4: お楽しみください
- 5: もしも、UNOインターフェイスを作成されるのであれば. . .
開始コンテキスト
- 読者は、LibreOfficeまたはApache OpenOfficeの基本的知識を持っている。
- 読者は、UNOとは何か、UNOはLibreOfficeまたはApache OpenOfficeとどう関係しているかの知識を持っている。
- 読者は、Javaプログラミング言語の基本的知識を持っている。
ターゲットコンテキスト
- 読者は、Java UNOプログラミングを開始するための最低限共通準備を行なう方法を知る。
オリエンテーション
任意のUNOプログラミングを開始するための網羅的な準備は、LinuxまたはWindows用に、ある以前の記事にて記述されています。
任意のLibreOfficeまたはApache OpenOfficeインスタンスをUNOサーバーにする方法は、ある以前の記事に記述されています。
あるJavaコンソール外部プログラムサンプルが、ある以前の記事にて紹介されています。
あるJava GUI外部プログラムサンプルが、ある以前の記事にて紹介されています。.
任意のUNOインターフェイスを作成する方法は、ある以降の記事にて取り扱われます。
任意のUNOコンポーネントを作成する方法は、ある以降の記事にて取り扱われます。
任意のUNOサービスを作成する方法は、ある以降の記事にて取り扱われます。
本体
ト書きHypothesizer 7、Objector 52A、Objector 52Bが、あるコンピュータの前にいます。
1: "共通"とは、どういう意味なのか
Hypothesizer 7
私がタイトルにて"共通"と言ったのは、準備は、あなたの目的とする作成物によって異なり得るからです。
Objector 52A
私の「目的とする作成物」?それは、UNOプログラムだ。
Hypothesizer 7
サー、それは、外部プログラムでしょうか、マクロでしょうか、グローバルUNOサービスでしょうか、スプレッドシートセルファンクションでしょうか?
Objector 52A
えーと、「外部プログラム」とはどういう意味だ?
Hypothesizer 7
外部プログラムとは、あるUNOサーバー(通常は、LibreOfficeまたはApache OpenOfficeインスタンス)へのクライアントであり、そのサーバープロセスの外のプロセスとして動作するもののことです。
他方で、非外部プログラムは、LibreOfficeまたはApache OpenOfficeインスタンスプロセスの中で動作します。
Objector 52A
それであれば、私は外部プログラムを作るようだ。
Hypothesizer 7
それであれば、それをビルドするのに、この共通準備で通常、十分でしょう。
Objector 52A
「通常」?
Hypothesizer 7
UNOインターフェイスを作成なさいますか?
Objector 52A
そう聞かれてもなあ. . .。UNOインターフェイスが何かさえ知らない。
Hypothesizer 7
通常は、なさらないでしょう、外部プログラムでは。
Objector 52A
なぜ、しないんだ?
Hypothesizer 7
UNOインターフェイスは、あなたのUNOオブジェクトを他のプログラミング言語ランタイム環境へ公開するためのものです。あなたは、通常、ご自分の外部プログラム中のUNOオブジェクトを公開したいとは思われないでしょう?
Objector 52A
思うとは思わないな。
Hypothesizer 7
ご注意いただきたいのですが、私たちが話したのは、プログラムをビルドすることについてです。プログラムを実行するためには、当該LibreOfficeまたはApache OpenOfficeインスタンスをUNOサーバーにするか、当該LibreOfficeまたはApache OpenOfficeインスタンス内でJVMを有効にする必要があります、あなたのプログラムが外部プログラムであるか、非外部プログラムであるかに応じて。
2: 当然の前提条件
Hypothesizer 7
LibreOfficeまたはApache OpenOfficeおよびJDKをインストールする必要があります、当然のことながら。
それらをインストールする方法をここで説明する必要はないものと想定いたします(LinuxまたはWindows用の網羅的な準備のための、ある記事では説明いたしましたが)。
Objector 52B
なぜ、そう想定するの?
Hypothesizer 7
マダム、その方法は、あなたの環境に依存し、各プロダクトのドキュメントで十分なはずです。
Objector 52B
そうだといいけど。
Hypothesizer 7
ところで、共通準備のために、LibreOfficeまたはApache OpenOffice SDKをインストールする必要はありません。
Objector 52B
ふーむ。
3: 4個のJarファイル群へのクラス群パス群をセットする
Hypothesizer 7
LibreOfficeまたはApache OpenOfficeプロダクトディレクトリ内の'program/classes'ディレクトリ内の'unoil.jar'、'jurt.jar'、'ridl.jar'、'juh.jar'という4個のJarファイル群へのクラス群パス群をセットする必要があります。
Gradleのようなビルドツールを使われているにせよ、EclipseのようなIDEを使われているにせよ、そうする方法はご存知でしょう?
Objector 52A
私を見くびるな!それは、初歩的なことだよ、ワトソン君、初歩的なことだ。
Hypothesizer 7
. . .私の名前は「ワトソン」ではございません。
4: お楽しみください
Hypothesizer 7
以上です。
Objector 52B
それで終わり?
Hypothesizer 7
はい、そうです。
Objector 52B
短すぎよ. . .
Hypothesizer 7
何を予期されていましたか?Javaプログラムを作成するために、あなたがする必要のあることは、使用されるクラス群へのクラス群パス群をセットすることだけでしょう?他に何があり得るのですか?
Objector 52B
何もない、でしょうね。
Hypothesizer 7
そのとおりです、マダム。
5: もしも、UNOインターフェイスを作成されるのであれば. . .
Hypothesizer 7
もしも、UNOインターフェイスを作成されるのであれば、準備で行なわなければならないことが、もっとあり、それは、以降の記事にて取り扱われます。.