我可以使用install4j启动程序重启java应用程序吗?

Dav*_*est 2 install4j

我需要重新启动一个java GUI应用程序以响应用户操作,就像在切换工作空间时eclipse重启自身一样.

我们目前使用的是install4j启动器,所以我想知道启动器是否可以配置为保持运行并重新启动应用程序,如果我退出具有特定返回代码的应用程序或类似的东西?

干杯

Ing*_*gel 5

这不是install4j中的一项功能.但是,您可以使用java.lang.ProcessBuilder再次启动启动程序并调用System.exit().

如果启动程序是单实例GUI启动程序,则必须使用另一个等待启动程序关闭然后重新启动原始可执行文件的可执行文件.使用在"Startup"节点中包含"Execute launcher"操作的自定义安装程序应用程序可以轻松完成此操作.自定义安装程序应用程序通过带有参数的API启动

-q -wait 20
Run Code Online (Sandbox Code Playgroud)

即它以无人值守模式(无GUI)执行,并等待所有已安装的启动器关闭最多20秒.要显示进度条,请添加

-splash "Restarting application"
Run Code Online (Sandbox Code Playgroud)

争论.启动自定义安装程序应用程序的代码如下所示:

import java.io.IOException;
import com.install4j.api.launcher.ApplicationLauncher;

try {
    ApplicationLauncher.launchApplication("ID", new String[] {
       "-q","-wait","20"
    }, false, null);
} catch (IOException e) {
    e.printStackTrace();
    //TODO handle invocation failure
}
Run Code Online (Sandbox Code Playgroud)

其中ID必须替换为自定义安装程序应用程序的ID.

  • 嗨,它也适用于单实例 Windows GUI 应用程序吗?? (2认同)