所以,这是我现在已经有一段时间了。你怎么能拿一个程序,并让它'自动更新'。所以我们假设一个外壳检查Myserver.com/myProg/updates.xml(或其他一些资源)并检查以确保版本号相同。一旦我这样做,我该如何处理更新程序?
假设我的程序是一个简单的主要类,唯一的输出是:
System.out.println(“Hello World”);在更新时,它变成System.out.println(“Hello Java”);
如何在运行时将此更改置于其中?
注意:JNLP不适用于此,因为签名问题我无需扩展。
答案 0 :(得分:9)
您需要2个“应用程序”:
用户始终启动引导应用程序,而不是主应用程序(实际上用户不知道引导程序应用程序)。这是迄今为止我见过的最常见的模式。
如果要在运行时进行自动更新,则需要将OSGI用作javabeats。但是,只有当你真的需要这个时才采取这条道路。我从未使用过OSGI,但我可以想象它是非常重要的。
我没有具体的例子,但我可以想象
抱歉,我不能在没有自己编写代码的情况下给你更详细的答案,但我会收取相应的费用:)。
答案 1 :(得分:2)
如果排除JNLP,我认为只有使用OSGI的解决方案才能实现。否则,即使在最简单的设计中,您也需要另一个程序来管理和下载当前程序的版本。