- ベストアンサー
JavaMailなどのAPIは実行クライアントにも必要?
JavaApplicationを作成、Jarファイルを作成して配布を行います。 そのプログラム内でJavaMailやPOIなどのAPI・ライブラリを利用していた場合、 実行環境(≠開発環境)ではそういったAPIは必要なのでしょうか? Windowsの場合、それをダウンロードし、いちいち環境変数に登録しないといけないのでしょうか? Javaにはとても疎いので初歩的な質問かもしれませんが、 ご教示宜しくお願い致します。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
補足ありがとうございます。 ライセンスについてはGPLやらLGPLやら、いろいろややこしいですよね。 Jarは実行するだけで勝手に関連づけられるわけではありません。通常はCLASSPATHにjarのパスを通す必要があります。この場合、Javamailをエンドユーザ別途ダウンロードしてもらうとすると、開発したJavaアプリと同じディレクトリにJavamailのjarをおいてもらって、別途のバッチファイルを提供してjavamailのjarをCLASSPATHに通すようにjavaコマンドを記述して、エンドユーザはそのバッチを起動するようにしてはいかがでしょうか? たとえば、mail.jarを開発したアプリjavaapp.jarと同じディレクトリにおいてもらって、バッチファイルを java -cp javaapp.jar;mail.jar com.javaapp.start とすれば、ユーザはこのバッチファイルでアプリを起動できます。 もし、環境変数やら、システムプロパティの設定が必要であれば、このバッチファイルの中でやればよろしいかと思います。
その他の回答 (1)
- pomo
- ベストアンサー率61% (11/18)
Javamailについては、Sunからダウンロードしたアーカイブの含まれているdistributionREADME.txtに再配布に関する条件が書いてあります。参照ください。おそらくJavamail内部を改造などせずに、オリジナルのままアプリの一部として配布するのは問題ないと思います。POIについてもJakartaなので問題ないとは思いますが、同様にライセンスに関する記述のドキュメントが添付されていると思います。 もし、再配布がNGのライセンスのライブラリなら、利用者側で別途用意してもらわなければならないということもあるかもしれません。(たとえば、そのライブラリが会員登録したユーザだけに特別なWebページ経由でしか提供されないようなものの場合など)
補足
回答有難うございます。 ライセンス、全く考えてませんでした^^; 英語に疎い為、ライセンス読む前にちょっと 語学でも勉強しようかと思います。 やる事山積です(笑) ちなみに、配布した場合、それは利用者側で インストール、環境変数の登録という作業が必要になるのでしょうか? 例えば.NET系アプリケーションを配布する時は 利用者が.NET Frameworkをインストールする必要があるように (例えアプリケーションと一緒に配布したとしても インストールが必要になる)。 それとも、利用者はjarファイルを実行するだけで、 jarファイルはJavamailなどとは勝手に関連付けられているのでしょうか?
お礼
ありがとうございます。 「開発したJavaアプリと同じディレクトリにJavamailのjarをおいてもらって」 もう完全にそれはダメシステムですね(笑) ユーザーによっては「関連するものはここにおきたい」とかありますもんねぇ^^; そういえばバッチ提供する方法がありましたね! 最悪その手段ですね。 OracleってインストーラーがJavaのはずですが、 あれって自動的(バッチかな?)を流して、 環境変数に登録しているようなのですが、 あれは一体どうやってるのでしょうか・・・。 出来るのなら、そういった方法が一番ベストかなと考えています。