我需要为一个简单的 java 应用程序编写一个升级工具。它应该适用于现有的安装目录,并更新属性和二进制文件。它不应该破坏现有目录以允许“撤消”,以防它在处理过程中失败。
我正在考虑以下一般算法:
- 在现有目录旁边创建新目录
- 将新的二进制文件提取到新目录中
- 复制并合并任何需要从旧目录复制到新目录的内容
- 将旧目录重命名为whatever.tmp.random#
- 将新目录重命名为旧目录的原始名称
- 删除旧目录
是否有已知的模式或免费的第 3 方包可以在 Java 中进行升级?我不想要/不需要昂贵的安装产品。