3

実行可能な jar ファイルは自動的に再起動できますか? たとえば、ユーザーが何らかの選択をした後、プログラムは「アプリを再起動しますか?」と言います。ユーザーが「はい」をクリックすると、jarがシャットダウンして再起動します。

4

2 に答える 2

3

アプリケーションを再起動する必要があるのは、設計が悪いことを示しています。

ユーザーにアプリケーションの終了/開始を強制するのではなく(自動的に行われたとしても)、アプリケーションを「再初期化」(構成ファイルの再読み込み、接続の再確立など) できるように、私は間違いなく一生懸命努力します。

中途半端な「ハック」は、次のようなものを実装するランナークラスにアプリケーションをカプセル化することです。

public class Runner {
    public static void main(String... args) {
        while (true) {
            try {
                new YourApplication().run();
                return;
            } catch (RestartException re) {
            }
        }
    }
}
于 2010-06-10T14:07:31.070 に答える
2

ファイル システム上の Jar ファイルの場所がわかっている場合は、プログラムで Jar ファイルを実行できます。そして、現在実行中のバージョンを終了します。

Runtime runtime = Runtime.getRuntime();
Process proc = runtime.exec("java -jar locatio/of/the/jar");
System.exit(0);
于 2010-06-10T14:05:14.603 に答える