README.md 2.1 KB

MES 客户端自动升级约定

现场客户端启动时请求本约定下的静态资源,对比本地版本后下载 zip 并自动替换,无需手工覆盖 EXE。

服务端路径(相对 http://{mes.server_ip}:8980

资源 路径 说明
版本清单 /client-update/version.json 必填
安装包 /client-update/MesClient-{version}.zip packageUrl 一致

将上述文件放到 Jeesite/Tomcat 可访问的静态目录(例如 webapp/client-update/)。

version.json 字段

{
  "version": "1.2.0",
  "force": false,
  "packageUrl": "http://192.168.9.180:8980/client-update/MesClient-1.2.0.zip",
  "sha256": "",
  "notes": "修复说明(可选)"
}
  • version:服务端最新版本,三段数字 主.次.修订
  • forcetrue 时不可跳过,必须升级后才能继续使用
  • packageUrl:zip 完整下载地址(可与服务器 IP 一致)
  • sha256:可选,zip 文件 SHA-256 十六进制;为空则不校验
  • notes:更新说明,弹窗展示

检查失败(网络/404)不阻断启动。

zip 包内容

与现场安装目录结构一致:

MesClient.exe          # 可选,启动壳未变可省略
MesClient.jar          # 业务更新时必含
MesClient.l4j.ini      # 可选
app.version            # 必含,一行纯文本版本号,如 1.2.0

推荐日常使用 JAR 与 EXE 分离 打包,多数发版只需更新 JAR + app.version

本地版本读取顺序

  1. 安装目录旁 app.version
  2. 若无,则读 JAR 内 config/config.propertiesmes.client.version

客户端配置

mes.client.version=1.0.0
mes.update.enabled=true
mes.update.path=/client-update/version.json

mes.update.enabled=false 可紧急关闭自动升级。

发版步骤摘要

  1. 升高 mes.client.version 与旁路 app.version
  2. 导出 JAR,用 jar2exe 分离模式 生成 EXE(壳未变可复用旧 EXE)
  3. tools/client-release/package-update.bat 打 zip
  4. 上传 zip 与更新后的 version.json 到服务器 /client-update/