首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何重新启动Java应用程序?

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

Stack Overflow用户
提问于 2010-11-12 06:15:34
回答 5查看 201.6K关注 0票数 104

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

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

EN

回答 5

Stack Overflow用户

发布于 2010-11-12 06:23:07

严格地说,Java程序不能重新启动自身,因为要这样做,它必须终止正在运行的JVM,然后重新启动它,但是一旦JVM不再运行(终止),则不能执行任何操作。

您可以使用自定义类加载器来加载、打包和重新启动AWT组件,但这可能会导致很多关于GUI事件循环的麻烦。

根据应用程序的启动方式,您可以在包含do/while循环的包装器脚本中启动JVM,该循环在JVM以特定代码退出时继续,然后AWT应用程序必须调用System.exit(RESTART_CODE)。例如,在脚本伪代码中:

代码语言:javascript
复制
DO
  # Launch the awt program
  EXIT_CODE = # Get the exit code of the last process
WHILE (EXIT_CODE == RESTART_CODE)

AWT应用程序应该在“正常”终止时使用不同于RESTART_CODE的命令退出JVM,该命令不需要重新启动。

票数 13
EN

Stack Overflow用户

发布于 2010-11-12 06:29:02

Eclipse通常在安装插件后重新启动。他们使用windows的包装器eclipse.exe (启动器应用程序)来做到这一点。这个应用程序执行核心eclipse runner jar,如果eclipse java应用程序以重新启动代码终止,eclipse.exe将重新启动工作台。您可以构建类似的本机代码、shell脚本或其他java代码包装器来实现重启。

票数 7
EN

Stack Overflow用户

发布于 2010-11-12 06:19:19

如果你真的需要重启你的应用,你可以写一个单独的应用来启动它……

此页面针对不同的场景提供了许多不同的示例:

http://www.rgagnon.com/javadetails/java-0014.html

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4159802

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档