こんにちは、私はJavaでエディタを開発しており、エラー後にアプリケーション全体を再起動する機能を提供したいと思っています。
を使用して例外ハンドラーを設定し、Thread.setDefaultUncaughtExceptionHandler
そこにメッセージボックスを表示しているので、簡単です。必要なのは、なんらかの方法でアプリケーションを閉じてから、同じファイルで再度起動することです。
何か案は?
こんにちは、私はJavaでエディタを開発しており、エラー後にアプリケーション全体を再起動する機能を提供したいと思っています。
を使用して例外ハンドラーを設定し、Thread.setDefaultUncaughtExceptionHandler
そこにメッセージボックスを表示しているので、簡単です。必要なのは、なんらかの方法でアプリケーションを閉じてから、同じファイルで再度起動することです。
何か案は?
これは同じシナリオを持つ可能性のある古いスレッドです:コマンドライン引数を覚えて、Javaアプリケーションを再起動する方法
あなたはそれを行うことができます
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; } }
呼び出してアプリケーションを起動Runtime.exec("my_startup_command");
します。終了を待たず、Processoutputを読み取らないでください。
早朝に目覚めたいときはどうしますか?家の誰かに起こしてもらうか、目覚ましを設定します。したがって、同じことがこのシナリオにも当てはまります。メインアプリケーションの「呼び出し元」として機能する、メインアプリケーションから完全に独立したアプリケーションを作成します。また、[再起動]コマンドで、すべてのコマンドライン引数を使用して呼び出し側アプリを起動し、メインアプリを終了します。その後、しばらくすると(設定した時間に関係なく)、呼び出し側アプリがメインアプリを起動します。