【问题标题】:How to write a self-updating program in Java? [closed]如何用Java编写一个自我更新程序? [关闭]
【发布时间】:2011-01-16 15:23:19
【问题描述】:

我怎样才能制作一个可以自我更新的 Java 程序。我制作这个程序供小团队使用。我不需要任何高级功能。我只需要一个简单且最小化的解决方案。

【问题讨论】:

  • 我认为您需要澄清自我更新的含义。这是一个相当冗长且模棱两可的术语。
  • 是的:您的意思是实际上是一个编写自执行代码的程序还是一个下载其自身新版本的程序?
  • 抱歉这个含糊不清的术语。它就像 Firefox 更新功能一样。它会自动检查互联网上的更新并更新当前版本。我尝试为我的团队制作小型实用程序并将其分发给团队。这是普通的桌面摇摆应用程序。我也在不断改进这个程序,但我不想再把这个程序发给所有人。

标签: java auto-update


【解决方案1】:

Java Web Start 专门用于此目的。您发布一个 jnlp 文件,java 负责从服务器获取最新版本。

除此之外,您还可以下载更新的类并在运行时替换它们。

【讨论】:

  • 应该注意,在运行时(重复)加载更新的类的应用程序往往会泄漏 permgen 内存。您可以避免泄漏,但这并不简单。
  • 是的,最好时不时重启一下。
【解决方案2】:

自我更新是什么意思?

如果您的意思是它在运行时改变其行为(这种情况很少见),您可以创建编写 java 代码的代码,编译它,然后从正在运行的程序中加载它。我已经看到了。

更常见的场景是有一个带有插件的核心程序,插件本身可以在运行时更新。最简单的方法是简单地使用这些服务的接口,然后在运行时加载这些类型的实例。然而,编写一个完全健壮的插件框架通常是在重新发明轮子。现有的架构有很多,比如 OSGi。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-11-01
    • 2011-12-07
    • 1970-01-01
    • 1970-01-01
    • 2011-08-05
    • 2011-03-30
    • 1970-01-01
    • 2015-03-14
    相关资源
    最近更新 更多