mirror of
https://github.com/qaiu/netdisk-fast-download.git
synced 2026-08-27 20:12:02 +00:00
Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| b70e30796f |
+11
-26
@@ -158,37 +158,19 @@ jobs:
|
|||||||
path: web-service/target/package
|
path: web-service/target/package
|
||||||
|
|
||||||
# ============================================================
|
# ============================================================
|
||||||
# jdeps 分析 → 确定所需 JDK 模块
|
# 选择 JDK 模块
|
||||||
# ============================================================
|
# ============================================================
|
||||||
- name: 分析所需 JDK 模块(jdeps)
|
- name: 选择完整 JDK 模块集合
|
||||||
run: |
|
run: |
|
||||||
MAIN_JAR="web-service/target/package/netdisk-fast-download.jar"
|
# 123 网盘/自定义 JS 解析器会通过 javax.script、Nashorn 和 SPI/反射加载模块,
|
||||||
LIB_DIR="web-service/target/package/lib"
|
# jdeps 无法稳定识别这些运行时依赖。这里优先保证原生包可运行,使用完整
|
||||||
|
# JDK 模块集合生成运行时,避免 Windows 精简 JRE 缺 java.scripting/jdk.dynalink 等模块。
|
||||||
CP=""
|
printf 'JDK_MODULES=ALL-MODULE-PATH\n' >> $GITHUB_ENV
|
||||||
for jar in "$LIB_DIR"/*.jar; do
|
|
||||||
CP="$CP${CP:+:}$jar"
|
|
||||||
done
|
|
||||||
|
|
||||||
RAW_MODULES=$(jdeps --print-module-deps --ignore-missing-deps --multi-release 17 \
|
|
||||||
--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,java.scripting,jdk.unsupported,java.net.http,java.instrument,java.security.jgss,java.security.sasl,java.desktop,jdk.crypto.ec"
|
|
||||||
echo "jdeps 分析失败,使用回退模块列表"
|
|
||||||
else
|
|
||||||
# 补上 jdeps 无法检测的反射/SPI依赖
|
|
||||||
RAW_MODULES="$RAW_MODULES,java.desktop,java.scripting,jdk.crypto.ec"
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "detected modules: $RAW_MODULES"
|
|
||||||
printf 'JDK_MODULES=%s\n' "$RAW_MODULES" >> $GITHUB_ENV
|
|
||||||
|
|
||||||
# ============================================================
|
# ============================================================
|
||||||
# jlink 生成精简 JRE
|
# jlink 生成完整模块 JRE
|
||||||
# ============================================================
|
# ============================================================
|
||||||
- name: 生成精简 JRE(jlink)
|
- name: 生成完整模块 JRE(jlink)
|
||||||
run: |
|
run: |
|
||||||
jlink \
|
jlink \
|
||||||
--module-path "$JAVA_HOME/jmods" \
|
--module-path "$JAVA_HOME/jmods" \
|
||||||
@@ -215,7 +197,10 @@ jobs:
|
|||||||
ls -la "$JRE_BIN"/*.dll 2>/dev/null || echo "(无 .dll 文件)"
|
ls -la "$JRE_BIN"/*.dll 2>/dev/null || echo "(无 .dll 文件)"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
echo "=== 关键 JDK 模块校验 ==="
|
||||||
"native-package/netdisk-fast-download/jre/bin/java" --list-modules | grep -q '^java.scripting@'
|
"native-package/netdisk-fast-download/jre/bin/java" --list-modules | grep -q '^java.scripting@'
|
||||||
|
"native-package/netdisk-fast-download/jre/bin/java" --list-modules | grep -q '^jdk.dynalink@'
|
||||||
|
"native-package/netdisk-fast-download/jre/bin/java" --list-modules | grep -q '^jdk.unsupported@'
|
||||||
|
|
||||||
# ============================================================
|
# ============================================================
|
||||||
# 组装包目录
|
# 组装包目录
|
||||||
|
|||||||
@@ -17,7 +17,7 @@
|
|||||||
</modules>
|
</modules>
|
||||||
|
|
||||||
<properties>
|
<properties>
|
||||||
<revision>0.4.0</revision>
|
<revision>0.4.1</revision>
|
||||||
<java.version>17</java.version>
|
<java.version>17</java.version>
|
||||||
<maven.compiler.source>17</maven.compiler.source>
|
<maven.compiler.source>17</maven.compiler.source>
|
||||||
<maven.compiler.target>17</maven.compiler.target>
|
<maven.compiler.target>17</maven.compiler.target>
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "nfd-web",
|
"name": "nfd-web",
|
||||||
"version": "0.4.0",
|
"version": "0.4.1",
|
||||||
"private": true,
|
"private": true,
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"serve": "vue-cli-service serve",
|
"serve": "vue-cli-service serve",
|
||||||
|
|||||||
Reference in New Issue
Block a user