【发布时间】:2011-09-10 04:09:00
【问题描述】:
我在决定分发和更新我的 Java 应用程序的最佳方式时遇到了一些麻烦。
我的 Java 应用程序通过一个从 shell 脚本 (Bat_To_EXE_Converter) 创建的可执行文件在 Windows 上启动,并通过 Mac 方便的 App 系统(基本上只运行一个 shell 脚本)在 Mac 上启动。我可以愉快地更新我所有的 CLASS 文件和我的所有 JAR。当我需要修改启动程序的 shell 脚本时,就会出现问题。
我无法可靠地重命名 Windows 中正在运行的可执行文件。这基本上是问题的症结所在。
我的 shell 脚本是否应该使用 start /b 命令来启动另一个升级程序应用程序?使用这种方法,我需要某种形式的 IPC 来允许主程序让升级程序知道它正在关闭。
当我坐在这里思考这个问题时,我的蜘蛛侠直觉告诉我这是一个已解决的问题,人们肯定会对它有意见。但是谷歌没有任何答案,所以我求助于你,Stack Overflow java 大师。 :)
我愿意接受所有形式的答案。我应该使用 WebStart 或类似的东西来为我解决这些问题吗?还有什么我应该知道的吗?我唯一的选择是让另一个进程运行并进行升级,如果是这样,我如何启动这个其他进程以使其在主进程的生命周期之外存在?
谢谢!
【问题讨论】: