Java Client Update Strategy
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!
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".
精彩评论