gpt4 book ai didi

java - 如何重新启动 Java 应用程序?

转载 作者:IT老高 更新时间:2023-10-28 11:34:40 27 4
gpt4 key购买 nike

如何重新启动 Java AWT 应用程序?我有一个附加了事件处理程序的按钮。我应该使用什么代码来重新启动应用程序?

我想做与 Application.Restart() 在 C# 应用程序中相同的事情。

最佳答案

当然可以重新启动 Java 应用程序。

以下方法显示了一种重新启动 Java 应用程序的方法:

public void restartApplication()
{
final String javaBin = System.getProperty("java.home") + File.separator + "bin" + File.separator + "java";
final File currentJar = new File(MyClassInTheJar.class.getProtectionDomain().getCodeSource().getLocation().toURI());

/* is it a jar file? */
if(!currentJar.getName().endsWith(".jar"))
return;

/* Build command: java -jar application.jar */
final ArrayList<String> command = new ArrayList<String>();
command.add(javaBin);
command.add("-jar");
command.add(currentJar.getPath());

final ProcessBuilder builder = new ProcessBuilder(command);
builder.start();
System.exit(0);
}

基本上它做了以下事情:

  1. 查找 java 可执行文件(我在这里使用了 java 二进制文件,但这取决于您的要求)
  2. 查找应用程序(在我的例子中是一个 jar,使用 MyClassInTheJar 类来查找 jar 位置本身)
  3. 构建一个重启 jar 的命令(在本例中使用 java 二进制文件)
  4. 执行! (从而终止当前应用程序并重新启动它)

关于java - 如何重新启动 Java 应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4159802/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com