Java 如何同时运行脚本和关闭应用程序的异步任务

Java 如何同时运行脚本和关闭应用程序的异步任务,java,Java,我有一个Java Swings应用程序,当用户单击“检查更新”按钮时,代码运行一个外部Powershell脚本来下载更新文件,然后覆盖现有的JAR文件 但是我想从代码中关闭JAR,这样在覆盖它时就不会出现“打开文件”的问题 这是我写的代码: CompletableFuture.runAsync(() -> { SharedLibrary.RunDownloadUpdateFileScript(NewVersion); }); CompletableFu

我有一个Java Swings应用程序,当用户单击“检查更新”按钮时,代码运行一个外部Powershell脚本来下载更新文件,然后覆盖现有的JAR文件

但是我想从代码中关闭JAR,这样在覆盖它时就不会出现“打开文件”的问题

这是我写的代码:

CompletableFuture.runAsync(() -> {
  SharedLibrary.RunDownloadUpdateFileScript(NewVersion);
});                 
CompletableFuture.runAsync(() -> {
        System.exit(0);
});
执行上面的方法后,System.exit命令必须立即运行。它不应该等待上述方法完成


那么我如何才能做到这一点呢?

它已经不需要等待任何事情了
System.exit
终止JVM。尽管我认为你不应该只在用户上关闭应用程序。让他决定他是否准备好了。@M.Prokhorov谢谢你的回复。用户在运行此代码之前已通过单击“是”表示同意。这段代码中的问题是,执行根本没有进入SharedLibrary.RunDownloadUpdateFileScript。我在里面放了一个messagebox来测试这一点。“执行不会进入RunDownloadUpdateFileScript”这就是我的问题,我如何运行该函数并独立退出?你不能。如果它们真正独立运行,您就不能保证进入下载状态<代码>系统。退出就是这样一种手段。