From 0feb8e798a3a4c60eb2730f668aec0e7db0b6f4c Mon Sep 17 00:00:00 2001 From: yukaidi Date: Sun, 31 May 2026 16:18:12 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20PR#190=20review=20=E4=BF=AE=E5=A4=8D=20?= =?UTF-8?q?=E2=80=94=20=E9=85=8D=E7=BD=AE=E6=9F=A5=E6=89=BE=E9=A1=BA?= =?UTF-8?q?=E5=BA=8F/=E9=A1=B5=E9=9D=A2=E6=97=A5=E5=BF=97/ZIP=E7=BB=93?= =?UTF-8?q?=E6=9E=84/=E6=B3=A8=E9=87=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 配置文件查找顺序与 Deploy 保持一致(先当前目录,再 resources/) - 页面地址日志改用 onComplete,无论演练场加载成功失败均输出 - Windows ZIP 移除 /* 通配符,与 Linux 保持一致的顶层目录结构 - 修正注释:同步读文件会阻塞 event loop,不再声称'避免阻塞' - YAML 正则和 jdeps 回退列表补充适用范围说明 --- .github/workflows/maven.yml | 3 ++- web-service/src/main/java/cn/qaiu/lz/AppMain.java | 11 +++++++---- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml index c355ba1..2ada315 100644 --- a/.github/workflows/maven.yml +++ b/.github/workflows/maven.yml @@ -163,6 +163,7 @@ jobs: --class-path "$CP" "$MAIN_JAR" 2>/dev/null | head -n 1 | tr -d '\r\n' || true) if [ -z "$RAW_MODULES" ] || [[ "$RAW_MODULES" == *"Missing"* ]] || [[ "$RAW_MODULES" == *"Error"* ]]; then + # ⚠️ 回退列表:若项目新增了需要 java.* / jdk.* 模块的依赖,需同步更新此处 RAW_MODULES="java.base,java.logging,java.sql,java.naming,java.management,java.xml,jdk.unsupported,java.net.http,java.instrument,java.security.jgss,java.security.sasl,java.desktop,jdk.crypto.ec" echo "jdeps 分析失败,使用回退模块列表" else @@ -252,7 +253,7 @@ jobs: if: runner.os == 'Windows' shell: pwsh run: | - Compress-Archive -Path native-package/netdisk-fast-download/* -DestinationPath "${{ matrix.artifact-name }}.zip" + Compress-Archive -Path native-package/netdisk-fast-download -DestinationPath "${{ matrix.artifact-name }}.zip" # ============================================================ # 上传产物 diff --git a/web-service/src/main/java/cn/qaiu/lz/AppMain.java b/web-service/src/main/java/cn/qaiu/lz/AppMain.java index 3460dbc..d60090c 100644 --- a/web-service/src/main/java/cn/qaiu/lz/AppMain.java +++ b/web-service/src/main/java/cn/qaiu/lz/AppMain.java @@ -84,17 +84,19 @@ public class AppMain { if (addr == null || addr.isBlank()) { addr = "http://127.0.0.1:" + jsonObject.getJsonObject(ConfigConstant.SERVER).getInteger("port", 6400); } - // 读取代理配置获取前端页面端口(同步读文件,避免阻塞 event loop) + // 读取代理配置获取前端页面端口(同步读取小文件,仅启动时执行一次) String proxyConfName = jsonObject.getString("proxyConf", "server-proxy"); String pageAddr = addr; try { String configFile = proxyConfName + ".yml"; - Path configPath = Path.of("resources", configFile); + // 与 Deploy 保持一致:优先当前目录,其次 resources/ + Path configPath = Path.of(configFile); if (!Files.exists(configPath)) { - configPath = Path.of(configFile); + configPath = Path.of("resources", configFile); } if (Files.exists(configPath)) { String yamlContent = Files.readString(configPath); + // 匹配项目约定的 YAML 格式: "- listen: 8080" java.util.regex.Matcher m = java.util.regex.Pattern .compile("^\\s*-\\s+listen:\\s*(\\d+)", java.util.regex.Pattern.MULTILINE) .matcher(yamlContent); @@ -186,9 +188,10 @@ public class AppMain { } else { log.info("未找到已发布的演练场解析器"); } - log.info("服务已启动,可通过 {} 访问页面", accessAddr); }).onFailure(e -> { log.error("加载演练场解析器列表失败", e); + }).onComplete(ar -> { + log.info("服务已启动,可通过 {} 访问页面", accessAddr); }); } }