mirror of
https://github.com/qaiu/netdisk-fast-download.git
synced 2026-06-10 15:37:28 +00:00
fix: PR#190 review 修复 — 配置查找顺序/页面日志/ZIP结构/注释
- 配置文件查找顺序与 Deploy 保持一致(先当前目录,再 resources/) - 页面地址日志改用 onComplete,无论演练场加载成功失败均输出 - Windows ZIP 移除 /* 通配符,与 Linux 保持一致的顶层目录结构 - 修正注释:同步读文件会阻塞 event loop,不再声称'避免阻塞' - YAML 正则和 jdeps 回退列表补充适用范围说明
This commit is contained in:
3
.github/workflows/maven.yml
vendored
3
.github/workflows/maven.yml
vendored
@@ -163,6 +163,7 @@ jobs:
|
|||||||
--class-path "$CP" "$MAIN_JAR" 2>/dev/null | head -n 1 | tr -d '\r\n' || true)
|
--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
|
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"
|
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 分析失败,使用回退模块列表"
|
echo "jdeps 分析失败,使用回退模块列表"
|
||||||
else
|
else
|
||||||
@@ -252,7 +253,7 @@ jobs:
|
|||||||
if: runner.os == 'Windows'
|
if: runner.os == 'Windows'
|
||||||
shell: pwsh
|
shell: pwsh
|
||||||
run: |
|
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"
|
||||||
|
|
||||||
# ============================================================
|
# ============================================================
|
||||||
# 上传产物
|
# 上传产物
|
||||||
|
|||||||
@@ -84,17 +84,19 @@ public class AppMain {
|
|||||||
if (addr == null || addr.isBlank()) {
|
if (addr == null || addr.isBlank()) {
|
||||||
addr = "http://127.0.0.1:" + jsonObject.getJsonObject(ConfigConstant.SERVER).getInteger("port", 6400);
|
addr = "http://127.0.0.1:" + jsonObject.getJsonObject(ConfigConstant.SERVER).getInteger("port", 6400);
|
||||||
}
|
}
|
||||||
// 读取代理配置获取前端页面端口(同步读文件,避免阻塞 event loop)
|
// 读取代理配置获取前端页面端口(同步读取小文件,仅启动时执行一次)
|
||||||
String proxyConfName = jsonObject.getString("proxyConf", "server-proxy");
|
String proxyConfName = jsonObject.getString("proxyConf", "server-proxy");
|
||||||
String pageAddr = addr;
|
String pageAddr = addr;
|
||||||
try {
|
try {
|
||||||
String configFile = proxyConfName + ".yml";
|
String configFile = proxyConfName + ".yml";
|
||||||
Path configPath = Path.of("resources", configFile);
|
// 与 Deploy 保持一致:优先当前目录,其次 resources/
|
||||||
|
Path configPath = Path.of(configFile);
|
||||||
if (!Files.exists(configPath)) {
|
if (!Files.exists(configPath)) {
|
||||||
configPath = Path.of(configFile);
|
configPath = Path.of("resources", configFile);
|
||||||
}
|
}
|
||||||
if (Files.exists(configPath)) {
|
if (Files.exists(configPath)) {
|
||||||
String yamlContent = Files.readString(configPath);
|
String yamlContent = Files.readString(configPath);
|
||||||
|
// 匹配项目约定的 YAML 格式: "- listen: 8080"
|
||||||
java.util.regex.Matcher m = java.util.regex.Pattern
|
java.util.regex.Matcher m = java.util.regex.Pattern
|
||||||
.compile("^\\s*-\\s+listen:\\s*(\\d+)", java.util.regex.Pattern.MULTILINE)
|
.compile("^\\s*-\\s+listen:\\s*(\\d+)", java.util.regex.Pattern.MULTILINE)
|
||||||
.matcher(yamlContent);
|
.matcher(yamlContent);
|
||||||
@@ -186,9 +188,10 @@ public class AppMain {
|
|||||||
} else {
|
} else {
|
||||||
log.info("未找到已发布的演练场解析器");
|
log.info("未找到已发布的演练场解析器");
|
||||||
}
|
}
|
||||||
log.info("服务已启动,可通过 {} 访问页面", accessAddr);
|
|
||||||
}).onFailure(e -> {
|
}).onFailure(e -> {
|
||||||
log.error("加载演练场解析器列表失败", e);
|
log.error("加载演练场解析器列表失败", e);
|
||||||
|
}).onComplete(ar -> {
|
||||||
|
log.info("服务已启动,可通过 {} 访问页面", accessAddr);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user