0

重複の可能性:
コマンドライン引数を覚えて、Javaアプリケーションを再起動する方法

こんにちは、私はJavaでエディタを開発しており、エラー後にアプリケーション全体を再起動する機能を提供したいと思っています。

を使用して例外ハンドラーを設定し、Thread.setDefaultUncaughtExceptionHandlerそこにメッセージボックスを表示しているので、簡単です。必要なのは、なんらかの方法でアプリケーションを閉じてから、同じファイルで再度起動することです。

何か案は?

4

4 に答える 4

1

これは同じシナリオを持つ可能性のある古いスレッドです:コマンドライン引数を覚えて、Javaアプリケーションを再起動する方法

于 2010-12-08T10:25:07.923 に答える
1

あなたはそれを行うことができます

Runtime.getRuntime()。exec( "java -jar" location.of.your.jar ");

jarの場所を取得するには:

public static File getJarFile(Class main) {
    try {
        File f = new File(main.getProtectionDomain().getCodeSource().getLocation().toURI());
        return f;
    } catch (URISyntaxException ex) {
        return null;
    }
}
于 2010-12-08T10:27:07.803 に答える
0

呼び出してアプリケーションを起動Runtime.exec("my_startup_command"); します。終了を待たず、Processoutputを読み取らないでください。

于 2010-12-08T10:24:37.857 に答える
0

早朝に目覚めたいときはどうしますか?家の誰かに起こしてもらうか、目覚ましを設定します。したがって、同じことがこのシナリオにも当てはまります。メインアプリケーションの「呼び出し元」として機能する、メインアプリケーションから完全に独立したアプリケーションを作成します。また、[再起動]コマンドで、すべてのコマンドライン引数を使用して呼び出し側アプリを起動し、メインアプリを終了します。その後、しばらくすると(設定した時間に関係なく)、呼び出し側アプリがメインアプリを起動します。

于 2010-12-08T10:54:32.473 に答える