Java客户端更新策略

发布于 2024-12-03 18:31:10 字数 714 浏览 1 评论 0原文

我在决定分发和更新 Java 应用程序的最佳方式时遇到了一些困难。

我的 Java 应用程序是通过从 shell 脚本创建的可执行文件在 Windows 上启动的 (Bat_To_EXE_Converter)并通过 Mac 方便的应用程序系统(基本上只运行 shell 脚本)在 Mac 上启动。我可以愉快地更新我的所有 CLASS 文件和所有 JAR。当我需要修改启动程序的 shell 脚本时,问题就出现了。

我无法可靠地重命名 Windows 中正在运行的可执行文件。这本质上就是问题的症结所在。

我的 shell 脚本是否应该使用 start /b 命令来启动另一个升级程序应用程序?使用这种方法,我需要某种形式的 IPC 来允许主程序让升级程序知道它正在关闭。

当我坐在这里思考这个问题时,我的直觉告诉我这是一个已解决的问题,人们肯定会有意见。但 Google 没有任何答案,所以我向 Stack Overflow Java 专家求助。 :)

我对所有形式的答案持开放态度。我应该使用 WebStart 或类似的东西来为我解决这些问题吗?还有什么我应该知道的吗?我唯一的选择是让另一个进程运行并进行升级,如果是这样,我如何启动另一个进程,以便它在主进程的生命周期之外存在?

谢谢!

I'm having some trouble deciding on the best way to distribute and update my Java application.

My Java application is launched on Windows via an executable that was created from a shell script (Bat_To_EXE_Converter) and launched on Mac via the Mac's handy App system (that basically just runs a shell script). I can happily update all of my CLASS files and all of my JARs. The problem arises when I need to modify the shell script that launched the program.

I can't reliably rename the running executable in Windows. This is essentially the crux of the problem.

Should my shell script use the start /b command to start another upgrader app? With this approach I'd need some form of IPC to allow the master program to let the upgrader program know it was shutting down.

As I've been sitting here thinking through this, my spidey-sense has been telling me this is a solved problem that people surely will have opinions on. But Google doesn't have any answers, so I turn to you, Stack Overflow java gurus. :)

I'm open to all forms of answers. Should I be using WebStart or something similar to solve these problems for me? Is there something else I should know about? Is my only option to have another process running and doing the upgrading, if so how do I start this other process so it exists beyond the life of the main process?

Thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

花期渐远 2024-12-10 18:31:10

您可能需要查看 Getdown。它被宣传为“由于 Java Web Start 架构的限制而成为 Java Web Start 的替代品”。

You may want to check out Getdown. It's billed as "a replacement for Java Web Start due to limitations in Java Web Start's architecture".

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文