2013-03-18 132 views
5

我需要为简单的Java应用程序编写升级工具。它应该在现有的安装目录上工作,并更新属性和二进制文件。它不应该破坏现有的目录,以便在过程中失败的情况下允许“撤消”。什么是编写升级工具的好方法

我想一般如下算法:

  1. 创建新的目录旁边现有
  2. 提取新的二进制文件到新的目录
  3. 拷贝并合并任何需要从旧的目录复制新的一个
  4. 重命名旧的目录whatever.tmp.random#
  5. 重命名新目录较旧目录的原始名称
  6. 删除旧目录

是否有已知模式或free-ish第三方包在Java中进行升级?我不想/需要昂贵的安装程序产品。

+0

是否应用程序。有(Swing,AWT,SWT)GUI?请注意,[JWS](http://stackoverflow.com/tags/java-web-start/info)不能完成你的'6点目录',但我认为它做的更简单和更有效。 – 2013-03-18 08:32:16

+0

你在说什么java应用程序?它是独立的还是Web应用程序? – ajduke 2013-03-18 08:32:29

+1

对于独立的客户端应用程序,Java Web Start(JNLP协议)可能很有用。 – 2013-03-18 09:12:57

回答

1

您对于如何进行升级的想法很有用。由于升级过程对于您的应用程序而言是独一无二的,因此第三方库并不会太有用。我建议你只写你自己的升级方法。