プロが教えるわが家の防犯対策術!

Javaでアプリケーションを作成したのですが、アプリケーションを実行するにはコマンドプロンプトから
 javac ***.java
とコンパイルして、( ***.java はファイル名 )
 java ***
としてアプリケーションを実行しますが、ウェブ上に転がっているフリーソフトのようにダウンロードして解凍するとインストーラがあってインストーラを起動することによって既存のプログラムに追加し、コマンドからアプリケーションを起動したり、すべてのプログラムから選択することで起動したりというように作成したJavaアプリケーションにインストーラを付与する方法はあるんでしょうか?
フリーソフトの中にはJavaで作成されたアプリケーションもありそうな気がするので、作成できるのだと思うのですが、ネットで探してもそのような記事は見つからず困っています。フリーソフトとして公開してみたいので...。知っている方教えてください。

A 回答 (4件)

 ふむふむ。

Macは使った事ないので知らんのだが、UNIXとWindowsで動作させるとすると、#3さんのおっしゃるとおり、Windows バッチとシェルスクリプトを両方書いて置いておくという方法が一般的じゃないのかな。

 たとえば、Jakarta ApacheのTomcatなんかそうだよね。Tomcatを起動、終了するシェルスクリプトとバッチファイルを一緒に入れてtar.gzで固めてある。また、Tomcatはそれとは別にWindows専用にインストーラー付の奴も配布している。

 結局これに習って(最終的な配置は同じとしても)Windows専用の配布物(インストーラー付)、Windows、UNIX共用の配布物(tar.gzやZIP)を両方用意するような形になるのではないでしょーか。

 便利なインストーラーも良いけど、#3さんも「同梱」と表現しているように、やはりUNIX用には、実行できる形のディレクトリ構造そのままtar.gzないしはtar.bz2で固めて、/usr/localで開いてね、ってのが、その~、流儀、というか、一般的じゃないのかな。
    • good
    • 0
この回答へのお礼

アドバイスありがとうございます。
インストーラがあれば、ユーザにとっての利便性を高めたかったんで、そうしたかったんですが、無理ならあきらめて、バッチファイル、シェルスクリプトにしたいと思います。
詳細なアドバイスありがとうございました。

お礼日時:2006/11/27 16:58

バッチプログラムを同梱しておけばいいのでは?


UNIX系だとシェルスクリプト

この回答への補足

ShellScriptの参考サイトを見て作成しました。
#! /bin/sh
# 環境変数の設定(略)
java Test
こんな感じに、環境変数の設定後、Javaを起動するようにしましたが、これでインストールしたといえるでしょうか?(シェルスクリプトではこれが限界?)もし、やり方が間違っているなら補足お願いします。

補足日時:2006/11/22 17:56
    • good
    • 0

 Windowsの場合はInstall Shieldなどのインストーラー作成ソフトを使うのが良いでしょう。



 インストーラーのお仕事は、
・ファイルの配置
・環境設定
・スタートメニュー、デスクトップ、クイック起動へのショートカット作成
・アンインストーラーの設定
になる。
 Microsoft Windows Installer、Install Shield、Install Anywhere、ExePressなど、自分の好みにあったソフトを使えば良いだろう。

 Javaアプリでインストーラーをつける場合、バッチファイルへのショートカットを作成するパターンが多いと思われる。
 Java Web Startなども調べてみると面白いかも知れません。

この回答への補足

回答ありがとうございます。
動作OSは、Windows,Mac,UNIXで動くものを作りたいんです。
質問内容に不備があったことを謝ります。
OSのことを考えるとやはりJava Web Startなのでしょうか?

補足日時:2006/11/21 08:07
    • good
    • 0

JavaWebStartを使ってみてはいかがでしょう?

この回答への補足

ここ数日でJavaWebStart関連の記事は見ましたが、Jarへのセキュリティ関連の署名が必要で、署名をさせるには、なんらかの権利を購入しなければならないらしく、お金はかけたくないので断念しました。

補足日時:2006/11/23 10:15
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!