1

私の要件は、アプリケーションを再起動することです。

ユーザーインターフェイスボタンがあります。それをクリックすると、現在実行中のアプリケーションが停止し、同じアプリケーションが起動するはずです。

使用されている言語はjavaです。

4

3 に答える 3

2

java -jar yourApp.jarjava を使用して新しい application.invoke を開始し、現在のアプリを停止するプロセスを作成します。

于 2011-04-15T06:32:12.143 に答える
1

Jigar のソリューションに加えて、VM オプション、プログラム引数、アプリケーションのベース ディレクトリなど、追加のパラメーターを再起動したアプリに委任することができます。このスタブを必要に応じて拡張できます。

private static void restartApplication() throws IOException {
    List<String> arguments = ManagementFactory.getRuntimeMXBean().getInputArguments();
    List<String> fullRestart = new ArrayList<String>();
    fullRestart.add(System.getProperty("java.home")+"/bin/java");
    fullRestart.addAll(arguments);
    fullRestart.add("-cp");
    fullRestart.add(System.getProperty("java.class.path"));
    // Assuming that 'Application' contains the main method:
    fullRestart.add(Application.class.getName());
    ProcessBuilder pb = new ProcessBuilder(fullRestart);
    pb.directory(new File(".").getParentFile());
    System.out.println("Starting app - arguments: " + fullRestart);
    pb.start();
    System.exit(0);
}
于 2011-04-15T07:26:47.203 に答える
0

バッチ ファイル myBat.bat を作成する

PING 1.1.1.1 -n 1 -w 30000 >NUL // wait for your application to stop 3000 milsec
java -jar yourApp.jar

system.exit(0) の前に

電話

Runtime.getRuntime().exec(myBat.bat); // give proper path
于 2011-04-15T06:41:24.597 に答える